Building in cygwin fails because: depbase=`echo test-fcntl-h-c++.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ g++ -DHAVE_CONFIG_H -I. -I. -I. -I.. -I./.. -I../gllib -I./../gllib -MT test-fcntl-h-c++.o -MD -MP -MF $depbase.Tpo -c -o test-fcntl-h-c++.o test-fcntl-h-c++.cc &&\ mv -f $depbase.Tpo $depbase.Po In file included from ../gllib/fcntl.h:41, from test-fcntl-h-c++.cc:22: ../gllib/sys/stat.h:668: error: ‘lchmod’ was not declared in this scope ../gllib/sys/stat.h:668: error: invalid type in declaration before ‘;’ token make[3]: *** [test-fcntl-h-c++.o] Error 1
(Not sure how the broken UTF-8 characters happened..) Any ideas? checking for lchmod... no checking whether lchmod is declared without a macro... no Line 668 is the '_GL_CXXALIASWARN (lchmod)' call below. ,---- | #if @GNULIB_LCHMOD@ | /* Change the mode of FILENAME to MODE, without dereferencing it if FILENAME | denotes a symbolic link. */ | # if !...@have_lchmod@ | /* The lchmod replacement follows symbolic links. Callers should take | this into account; lchmod should be applied only to arguments that | are known to not be symbolic links. On hosts that lack lchmod, | this can lead to race conditions between the check and the | invocation of lchmod, but we know of no workarounds that are | reliable in general. You might try requesting support for lchmod | from your operating system supplier. */ | # if !(defined __cplusplus && defined GNULIB_NAMESPACE) | # define lchmod chmod | # endif | _GL_CXXALIAS_RPL_1 (lchmod, chmod, int, (const char *filename, mode_t mode)); | # else | # if 0 /* assume already declared */ | _GL_FUNCDECL_SYS (lchmod, int, (const char *filename, mode_t mode) | _GL_ARG_NONNULL ((1))); | # endif | _GL_CXXALIAS_SYS (lchmod, int, (const char *filename, mode_t mode)); | # endif > _GL_CXXALIASWARN (lchmod); | #elif defined GNULIB_POSIXCHECK | # undef lchmod | # if HAVE_RAW_DECL_LCHMOD | _GL_WARN_ON_USE (lchmod, "lchmod is unportable - " | "use gnulib module lchmod for portability"); | # endif | #endif `---- /Simon