Dear Paul, fredag den 18 november 2011 klockan 10:23 skrev Paul Eggert detta: > On 11/18/11 02:25, Mats Erik Andersson wrote: > > I will back track the failure more > > Thanks. > > A similar problem was recently reported for octave on mingw; see > <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>. > That bug report had a bit more information, enough so that > I committed a partial fix for it; see > <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00245.html>. > We're awaiting more information there. Quite possibly my > commit will affect OpenBSD too, so you probably want to try the > updated gnulib when you investigate the failure.
My original errors were verbatim to "msg00237.html", modulo elementary notions. After your pushed commit the issue with fdopendir() is resolved, but the fstatat() error remains. The following is my manual traceback. Regards, Mats E A /* Build steps in "lib/", i.e., GNU lib */ CC fdopendir.o CC forkpty.o CC fstatat.o CC getcwd.o CC getcwd-lgpl.o /* Build step for GNU Inetutils */ CCLD ftp cmds.o(.text+0x194): In function `another': /tmp/inetutils/ftp/cmds.c:171: warning: strcpy() is almost always misused, please use strlcpy() cmds.o(.text+0x1578): In function `remglob': /tmp/inetutils/ftp/cmds.c:967: warning: strcat() is almost always misused, please use strlcat() cmds.o(.text+0x123): In function `another': /tmp/inetutils/ftp/cmds.c:145: warning: sprintf() is often misused, please use snprintf() ../lib/libgnu.a(getcwd.o)(.text+0x283): In function `rpl_getcwd': /tmp/inetutils/lib/getcwd.c:300: undefined reference to `fstatat' collect2: ld returned 1 exit status *** Error code 1 /* * Code analysis of GNU lib for OpenBSD 4.6. */ /* * config.h */ #define GNULIB_OPENAT 1 #define GNULIB_TEST_OPENAT 1 /* #undef HAVE_OPENAT */ /* #undef HAVE_RAW_DECL_OPENAT */ #define GNULIB_FSTATAT 1 #define GNULIB_TEST_FSTATAT 1 /* #undef HAVE_FSTATAT */ /* #undef HAVE_RAW_DECL_FSTATAT */ /* #undef HAVE_WORKING_FSTATAT_ZERO_FLAG */ /* * lib/getcwd.c */ #if defined HAVE_OPENAT || defined GNULIB_OPENAT # define HAVE_OPENAT_SUPPORT 1 #else # define HAVE_OPENAT_SUPPORT 0 #endif #if HAVE_OPENAT_SUPPORT entry_status = fstatat (fd, d->d_name, &st, AT_SYMLINK_NOFOLLOW); #else Conclusion: The conditional "defined HAVE_OPENAT || defined GNULIB_OPENAT" sets "HAVE_OPENAT_SUPPORT = 1", thus invoking a call to fstatat(), but is not accompanied by the relevant module inclusion of "fstatat". The module is built, but not automatically included in "libgnu.a".