On AIX 5.1, HP-UX 11, IRIX 6.5, Solaris 7 I get an error like this from a testdir for module 'futimens':
cc -O -DHAVE_CONFIG_H -I. -I.. -DGNULIB_STRICT_CHECKING=1 -DIN_GNULIB_TESTS=1 -I. -I. -I.. -I./.. -I../gllib -I./../gllib -g -c test-futimens.c "test-futimens.h", line 77: undefined symbol: AT_FDCWD cc: acomp failed for test-futimens.c *** Error code 2 AT_FDCWD is now only guaranteed by the 'fcntl-h' module. This patch fixes the problem and also a couple of possible similar problems. 2011-11-19 Bruno Haible <br...@clisp.org> Depend on module fcntl-h when AT_FDCWD is used. * modules/utimens (Depends-on): Add fcntl-h. * modules/areadlinkat (Depends-on): Likewise. * modules/areadlinkat-with-size (Depends-on): Likewise. * modules/faccessat (Depends-on): Likewise. * modules/fchmodat (Depends-on): Likewise. * modules/fchownat (Depends-on): Likewise. * modules/getcwd (Depends-on): Likewise. * modules/mkdirat (Depends-on): Likewise. * modules/mkfifoat (Depends-on): Likewise. * modules/readlinkat (Depends-on): Likewise. * modules/symlinkat (Depends-on): Likewise. * modules/dup2-tests (Depends-on): Likewise. * modules/fdutimensat-tests (Depends-on): Likewise. * modules/futimens-tests (Depends-on): Likewise. --- modules/areadlinkat.orig Sat Nov 19 20:57:08 2011 +++ modules/areadlinkat Sat Nov 19 20:53:24 2011 @@ -15,6 +15,7 @@ errno extensions fchdir +fcntl-h openat-die openat-h save-cwd --- modules/areadlinkat-with-size.orig Sat Nov 19 20:57:08 2011 +++ modules/areadlinkat-with-size Sat Nov 19 20:53:24 2011 @@ -15,6 +15,7 @@ errno extensions fchdir +fcntl-h openat-die openat-h save-cwd --- modules/dup2-tests.orig Sat Nov 19 20:57:08 2011 +++ modules/dup2-tests Sat Nov 19 20:53:24 2011 @@ -6,6 +6,7 @@ Depends-on: binary-io close +fcntl-h msvc-nothrow open --- modules/faccessat.orig Sat Nov 19 20:57:08 2011 +++ modules/faccessat Sat Nov 19 20:53:24 2011 @@ -14,6 +14,7 @@ dosname [test $HAVE_FACCESSAT = 0] errno [test $HAVE_FACCESSAT = 0] fchdir [test $HAVE_FACCESSAT = 0] +fcntl-h [test $HAVE_FACCESSAT = 0] openat-die [test $HAVE_FACCESSAT = 0] openat-h [test $HAVE_FACCESSAT = 0] save-cwd [test $HAVE_FACCESSAT = 0] --- modules/fchmodat.orig Sat Nov 19 20:57:08 2011 +++ modules/fchmodat Sat Nov 19 20:53:24 2011 @@ -14,6 +14,7 @@ dosname [test $HAVE_FCHMODAT = 0] errno [test $HAVE_FCHMODAT = 0] fchdir [test $HAVE_FCHMODAT = 0] +fcntl-h [test $HAVE_FCHMODAT = 0] openat-die [test $HAVE_FCHMODAT = 0] openat-h [test $HAVE_FCHMODAT = 0] save-cwd [test $HAVE_FCHMODAT = 0] --- modules/fchownat.orig Sat Nov 19 20:57:08 2011 +++ modules/fchownat Sat Nov 19 20:53:24 2011 @@ -14,6 +14,7 @@ dosname [test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1] errno [test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1] fchdir [test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1] +fcntl-h [test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1] lchown [test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1] openat-die [test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1] openat-h [test $HAVE_FCHOWNAT = 0 || test $REPLACE_FCHOWNAT = 1] --- modules/fdutimensat-tests.orig Sat Nov 19 20:57:08 2011 +++ modules/fdutimensat-tests Sat Nov 19 20:53:24 2011 @@ -8,6 +8,7 @@ tests/macros.h Depends-on: +fcntl-h ignore-value openat timespec --- modules/futimens-tests.orig Sat Nov 19 20:57:08 2011 +++ modules/futimens-tests Sat Nov 19 20:53:24 2011 @@ -7,6 +7,7 @@ tests/macros.h Depends-on: +fcntl-h ignore-value timespec dup --- modules/getcwd.orig Sat Nov 19 20:57:08 2011 +++ modules/getcwd Sat Nov 19 20:53:24 2011 @@ -16,6 +16,7 @@ d-ino [test $REPLACE_GETCWD = 1] memmove [test $REPLACE_GETCWD = 1] openat [test $REPLACE_GETCWD = 1] +fcntl-h [test $REPLACE_GETCWD = 1] fdopendir [test $REPLACE_GETCWD = 1] fstat [test $REPLACE_GETCWD = 1] fstatat [test $REPLACE_GETCWD = 1] --- modules/mkdirat.orig Sat Nov 19 20:57:08 2011 +++ modules/mkdirat Sat Nov 19 20:53:24 2011 @@ -14,6 +14,7 @@ dosname [test $HAVE_MKDIRAT = 0] errno [test $HAVE_MKDIRAT = 0] fchdir [test $HAVE_MKDIRAT = 0] +fcntl-h [test $HAVE_MKDIRAT = 0] mkdir [test $HAVE_MKDIRAT = 0] openat-die [test $HAVE_MKDIRAT = 0] openat-h [test $HAVE_MKDIRAT = 0] --- modules/mkfifoat.orig Sat Nov 19 20:57:08 2011 +++ modules/mkfifoat Sat Nov 19 20:53:24 2011 @@ -15,6 +15,7 @@ dosname [test $HAVE_MKFIFOAT = 0 || test $HAVE_MKNODAT = 0] errno [test $HAVE_MKFIFOAT = 0 || test $HAVE_MKNODAT = 0] fchdir [test $HAVE_MKFIFOAT = 0 || test $HAVE_MKNODAT = 0] +fcntl-h [test $HAVE_MKFIFOAT = 0 || test $HAVE_MKNODAT = 0] openat-die [test $HAVE_MKFIFOAT = 0 || test $HAVE_MKNODAT = 0] openat-h [test $HAVE_MKFIFOAT = 0 || test $HAVE_MKNODAT = 0] save-cwd [test $HAVE_MKFIFOAT = 0 || test $HAVE_MKNODAT = 0] --- modules/readlinkat.orig Sat Nov 19 20:57:08 2011 +++ modules/readlinkat Sat Nov 19 20:53:24 2011 @@ -13,6 +13,7 @@ dosname [test $HAVE_READLINKAT = 0] errno [test $HAVE_READLINKAT = 0] fchdir [test $HAVE_READLINKAT = 0] +fcntl-h [test $HAVE_READLINKAT = 0] openat-die [test $HAVE_READLINKAT = 0] openat-h [test $HAVE_READLINKAT = 0] save-cwd [test $HAVE_READLINKAT = 0] --- modules/symlinkat.orig Sat Nov 19 20:57:08 2011 +++ modules/symlinkat Sat Nov 19 20:53:24 2011 @@ -13,6 +13,7 @@ dosname [test $HAVE_SYMLINKAT = 0] errno [test $HAVE_SYMLINKAT = 0] fchdir [test $HAVE_SYMLINKAT = 0] +fcntl-h [test $HAVE_SYMLINKAT = 0] openat-die [test $HAVE_SYMLINKAT = 0] openat-h [test $HAVE_SYMLINKAT = 0] save-cwd [test $HAVE_SYMLINKAT = 0] --- modules/utimens.orig Sat Nov 19 20:57:08 2011 +++ modules/utimens Sat Nov 19 20:53:24 2011 @@ -10,6 +10,7 @@ Depends-on: errno +fcntl-h fstat lstat gettime -- In memoriam Farhád Asdaqí <http://www.iranhrdc.org/english/publications/reports/3149-a-faith-denied-the-persecution-of-the-baha-is-of-iran.html?p=29>