I've just committed this: [coreutils-6.8 needs this patch on FreeBSD] Avoid conflicting types for 'unsetenv' on FreeBSD. * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid conflicting with FreeBSD's (5.0 and 6.1) function declaration in stdlib.h.
Index: lib/putenv.c =================================================================== RCS file: /sources/gnulib/gnulib/lib/putenv.c,v retrieving revision 1.33 diff -u -p -r1.33 putenv.c --- lib/putenv.c 21 Feb 2007 07:54:16 -0000 1.33 +++ lib/putenv.c 25 Feb 2007 00:47:12 -0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1994, 1997, 1998, 2000, 2003, 2004, 2005, 2006 +/* Copyright (C) 1991, 1994, 1997, 1998, 2000, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. NOTE: The canonical source of this file is maintained with the GNU C @@ -57,7 +57,7 @@ __libc_lock_define_initialized (static, #endif static int -unsetenv (const char *name) +_unsetenv (const char *name) { size_t len; char **ep; @@ -105,7 +105,7 @@ rpl_putenv (const char *string) if (name_end == NULL) { /* Remove the variable from the environment. */ - return unsetenv (string); + return _unsetenv (string); } size = 0;