[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Current coreutils HEAD does not compile
From: |
Paul Eggert |
Subject: |
Re: Current coreutils HEAD does not compile |
Date: |
Mon, 18 Dec 2006 14:29:51 -0800 |
User-agent: |
Gnus/5.1008 (Gnus v5.10.8) Emacs/21.4 (gnu/linux) |
Andreas Schwab <address@hidden> 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 <address@hidden>
* 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])