Hi all, I'm having some trouble building llvm-gcc as of today, with and without bootstrap. The error I get is: /home/kooijman/src/llvm-gcc/obj/./gcc/xgcc -B/home/kooijman/src/llvm-gcc/obj/./gcc/ -B/home/kooijman/src/llvm-gcc/obj/../install/i686-pc-linux-gnu/bin/ -B/home/kooijman/src/llvm-gcc/obj/../install/i686-pc-linux-gnu/lib/ -isystem /home/kooijman/src/llvm-gcc/obj/../install/i686-pc-linux-gnu/include -isystem /home/kooijman/src/llvm-gcc/obj/../install/i686-pc-linux-gnu/sys-include -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. -I../../llvm-gcc-4.2-trunk/gcc -I../../llvm-gcc-4.2-trunk/gcc/. -I../../llvm-gcc-4.2-trunk/gcc/../include -I../../llvm-gcc-4.2-trunk/gcc/../libcpp/include -I../../llvm-gcc-4.2-trunk/gcc/../libdecnumber -I../libdecnumber -I/home/kooijman/src/llvm-trunk/include -I/home/kooijman/src/llvm-trunk/include -g0 -finhibit-size-directive -fno-inline-functions -fno-exceptions -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-omit-frame-pointer \ -c ../../llvm-gcc-4.2-trunk/gcc/crtstuff.c -DCRT_BEGIN \ -o crtbegin.o In file included from /home/kooijman/src/llvm-gcc/obj/./gcc/include/limits.h:10, from ../../llvm-gcc-4.2-trunk/gcc/tsystem.h:108, from ../../llvm-gcc-4.2-trunk/gcc/crtstuff.c:68: /usr/include/limits.h:125:26: error: no include path in which to search for limits.h make[2]: *** [crtbegin.o] Error 1 make[2]: Leaving directory `/home/kooijman/src/llvm-gcc/obj/gcc The last known working version is r54156 (just compiled that). The latest rev (r54208) fails for me. In between there are only merges from Apple GCC 4.2, with not so very helpful messages. I would have tried to narrow this down a bit further, but I can't easily check the commit diffs because the mailling list (archives) are down. Anyone able to reproduce this (or even, better fix it)? Gr. Matthijs -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20080730/39852032/attachment.sig>
Hi Matthijs, Sorry for the breakage. I'm not sure what is happening here. Could you either try TOT or do a binary search now that the mailing lists are back up? -bw On Wed, Jul 30, 2008 at 6:19 AM, Matthijs Kooijman <matthijs at stdin.nl> wrote:> Hi all, > > I'm having some trouble building llvm-gcc as of today, with and without > bootstrap. > > The error I get is: > > /home/kooijman/src/llvm-gcc/obj/./gcc/xgcc > -B/home/kooijman/src/llvm-gcc/obj/./gcc/ > -B/home/kooijman/src/llvm-gcc/obj/../install/i686-pc-linux-gnu/bin/ > -B/home/kooijman/src/llvm-gcc/obj/../install/i686-pc-linux-gnu/lib/ -isystem > /home/kooijman/src/llvm-gcc/obj/../install/i686-pc-linux-gnu/include -isystem > /home/kooijman/src/llvm-gcc/obj/../install/i686-pc-linux-gnu/sys-include -O2 > -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes > -Wmissing-prototypes -Wold-style-definition -isystem ./include -I. -I. > -I../../llvm-gcc-4.2-trunk/gcc -I../../llvm-gcc-4.2-trunk/gcc/. > -I../../llvm-gcc-4.2-trunk/gcc/../include > -I../../llvm-gcc-4.2-trunk/gcc/../libcpp/include > -I../../llvm-gcc-4.2-trunk/gcc/../libdecnumber -I../libdecnumber > -I/home/kooijman/src/llvm-trunk/include -I/home/kooijman/src/llvm-trunk/include > -g0 -finhibit-size-directive -fno-inline-functions -fno-exceptions > -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-omit-frame-pointer \ > -c ../../llvm-gcc-4.2-trunk/gcc/crtstuff.c -DCRT_BEGIN \ -o crtbegin.o > In file included from /home/kooijman/src/llvm-gcc/obj/./gcc/include/limits.h:10, > from ../../llvm-gcc-4.2-trunk/gcc/tsystem.h:108, > from ../../llvm-gcc-4.2-trunk/gcc/crtstuff.c:68: > /usr/include/limits.h:125:26: error: no include path in which to search for limits.h > make[2]: *** [crtbegin.o] Error 1 > make[2]: Leaving directory `/home/kooijman/src/llvm-gcc/obj/gcc > > > The last known working version is r54156 (just compiled that). The latest rev > (r54208) fails for me. In between there are only merges from Apple GCC 4.2, > with not so very helpful messages. > > I would have tried to narrow this down a bit further, but I can't easily check > the commit diffs because the mailling list (archives) are down. > > Anyone able to reproduce this (or even, better fix it)? > > Gr. > > Matthijs > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.6 (GNU/Linux) > > iD8DBQFIkGpvz0nQ5oovr7wRAoWFAKC/w8isbpBGhP7uDafzzZ9t04E6AwCgndC3 > Ro911U72jO+q/RnB0Ex30hU> =AmTw > -----END PGP SIGNATURE----- > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >
I think this error is due to these changes: Doing diffs in .: --- ./gsyslimits.h.~1~ 2006-11-26 12:31:50.000000000 -0800 +++ ./gsyslimits.h 2007-04-02 12:37:38.000000000 -0700 @@ -4,5 +4,3 @@ instead of this text. */ #define _GCC_NEXT_LIMITS_H /* tell gcc's limits.h to recurse */ -#include_next <limits.h> -#undef _GCC_NEXT_LIMITS_H --- ./limitx.h.~1~ 2006-11-26 12:31:48.000000000 -0800 +++ ./limitx.h 2007-04-02 13:51:40.000000000 -0700 @@ -1,12 +1,11 @@ /* This administrivia gets added to the beginning of limits.h if the system has its own version of limits.h. */ -/* We use _GCC_LIMITS_H_ because we want this not to match - any macros that the system's limits.h uses for its own purposes. */ -#ifndef _GCC_LIMITS_H_ /* Terminated in limity.h. */ -#define _GCC_LIMITS_H_ - #ifndef _LIBC_LIMITS_H_ /* Use "..." so that we find syslimits.h only in this same directory. */ #include "syslimits.h" #endif +#ifdef _GCC_NEXT_LIMITS_H +#include_next <limits.h> +#undef _GCC_NEXT_LIMITS_H +#endif --- ./limity.h.~1~ 2006-11-26 12:31:49.000000000 -0800 +++ ./limity.h 2007-04-02 12:33:24.000000000 -0700 @@ -1,10 +0,0 @@ -/* This administrivia gets added to the end of limits.h - if the system has its own version of limits.h. */ - -#else /* not _GCC_LIMITS_H_ */ - -#ifdef _GCC_NEXT_LIMITS_H -#include_next <limits.h> /* recurse down to the real one */ -#endif - -#endif /* not _GCC_LIMITS_H_ */ However, the changes were accepted by the FSF way back when: http://gcc.gnu.org/ml/gcc-patches/2007-04/msg00074.html Here's the offending line in the Linux /usr/include/limits.h: #if defined __GNUC__ && !defined _GCC_LIMITS_H_ /* `_GCC_LIMITS_H_' is what GCC's file defines. */ # include_next <limits.h> #endif Do you think it's sufficient to keep this bit around? /* We use _GCC_LIMITS_H_ because we want this not to match any macros that the system's limits.h uses for its own purposes. */ #ifndef _GCC_LIMITS_H_ /* Terminated in limity.h. */ #define _GCC_LIMITS_H_ I couldn't imagine that this was allowed to stay in the FSF compiler if it messed up Linux. Does anyone have an idea of what the FSF GCC GPLv2 (*NOT* GPLv3) does in this case? -bw On Jul 30, 2008, at 6:19 AM, Matthijs Kooijman wrote:> Hi all, > > I'm having some trouble building llvm-gcc as of today, with and > without > bootstrap. > > The error I get is: > > /home/kooijman/src/llvm-gcc/obj/./gcc/xgcc > -B/home/kooijman/src/llvm-gcc/obj/./gcc/ > -B/home/kooijman/src/llvm-gcc/obj/../install/i686-pc-linux-gnu/bin/ > -B/home/kooijman/src/llvm-gcc/obj/../install/i686-pc-linux-gnu/lib/ > -isystem > /home/kooijman/src/llvm-gcc/obj/../install/i686-pc-linux-gnu/ > include -isystem > /home/kooijman/src/llvm-gcc/obj/../install/i686-pc-linux-gnu/sys- > include -O2 > -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes > -Wmissing-prototypes -Wold-style-definition -isystem ./include - > I. -I. > -I../../llvm-gcc-4.2-trunk/gcc -I../../llvm-gcc-4.2-trunk/gcc/. > -I../../llvm-gcc-4.2-trunk/gcc/../include > -I../../llvm-gcc-4.2-trunk/gcc/../libcpp/include > -I../../llvm-gcc-4.2-trunk/gcc/../libdecnumber -I../libdecnumber > -I/home/kooijman/src/llvm-trunk/include -I/home/kooijman/src/llvm- > trunk/include > -g0 -finhibit-size-directive -fno-inline-functions -fno-exceptions > -fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-omit-frame- > pointer \ > -c ../../llvm-gcc-4.2-trunk/gcc/crtstuff.c -DCRT_BEGIN \ -o > crtbegin.o > In file included from /home/kooijman/src/llvm-gcc/obj/./gcc/include/ > limits.h:10, > from ../../llvm-gcc-4.2-trunk/gcc/tsystem.h:108, > from ../../llvm-gcc-4.2-trunk/gcc/crtstuff.c:68: > /usr/include/limits.h:125:26: error: no include path in which to > search for limits.h > make[2]: *** [crtbegin.o] Error 1 > make[2]: Leaving directory `/home/kooijman/src/llvm-gcc/obj/gcc > > > The last known working version is r54156 (just compiled that). The > latest rev > (r54208) fails for me. In between there are only merges from Apple > GCC 4.2, > with not so very helpful messages. > > I would have tried to narrow this down a bit further, but I can't > easily check > the commit diffs because the mailling list (archives) are down. > > Anyone able to reproduce this (or even, better fix it)? > > Gr. > > Matthijs > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
On Jul 30, 2008, at 11:35 PM, Bill Wendling wrote:> I think this error is due to these changes:Try adding: #define _GCC_LIMITS_H_ to limitx.h like so: #ifdef _GCC_NEXT_LIMITS_H +#define _GCC_LIMITS_H_ #include_next <limits.h> #undef _GCC_NEXT_LIMITS_H and then testing. A good test would do a -dM -E and seeing if everything is still defined and checking the testcase mentioned in the original email thread.