Andreas Schwab <[EMAIL PROTECTED]> writes: > With current coreutils HEAD (4e48b4ce334cb601dbbe2562e3aa410dc3ef3fba) I > get this compile error: > > In file included from ///usr/include/inttypes.h:28, > from ./inttypes.h:25, > from ../../coreutils/lib/xstrtol.h:25, > from ../../coreutils/lib/xstrtol.c:32, > from ../../coreutils/lib/xstrtoimax.c:6: > ./stdint.h:76:6: error: operator '&&' has no left operand > make[2]: *** [xstrtoimax.o] Error 1 > > This is because HAVE_SYS_BITYPES_H is never defined when > $gl_cv_header_working_stdint_h = yes.
Weird. If $gl_cv_header_working_stdint_h = yes, then there's not supposed to be a file ./stdint.h, so HAVE_SYS_BITYPES_H's definition is irrelevant. Perhaps there was a leftover 'stdint.h' file around from a previous build? "make clean" is supposed to remove that. Did that not work for you? Another possibility: perhaps STDINT_H was set in to the empty string in your environment? That would explain the problem. I installed the following patch into gnulib, which should be done in any event. But if this doesn't fix your problem, we need to dig deeper into why. 2006-12-18 Paul Eggert <[EMAIL PROTECTED]> * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h conforms to C99, rather than relying on the user's environment setting of STDINT_H. --- m4/stdint.m4 27 Nov 2006 22:58:46 -0000 1.24 +++ m4/stdint.m4 18 Dec 2006 22:26:15 -0000 @@ -1,4 +1,4 @@ -# stdint.m4 serial 20 +# stdint.m4 serial 21 dnl Copyright (C) 2001-2002, 2004-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -192,8 +192,9 @@ ]])], [gl_cv_header_working_stdint_h=yes])]) fi - if test "$gl_cv_header_working_stdint_h" != yes; then - + if test "$gl_cv_header_working_stdint_h" = yes; then + STDINT_H= + else dnl Check for <sys/inttypes.h>, and for dnl <sys/bitypes.h> (used in Linux libc4 >= 4.6.7 and libc5). AC_CHECK_HEADERS([sys/inttypes.h sys/bitypes.h])