From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23583 invoked by alias); 18 May 2003 12:56:47 -0000 Mailing-List: contact gcc-help-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-help-owner@gcc.gnu.org Received: (qmail 23515 invoked from network); 18 May 2003 12:56:45 -0000 Received: from unknown (HELO mta05ps.bigpond.com) (144.135.25.137) by sources.redhat.com with SMTP; 18 May 2003 12:56:45 -0000 Received: from there ([144.135.25.69]) by mta05ps.bigpond.com (Netscape Messaging Server 4.15 mta05ps Jul 16 2002 22:47:55) with SMTP id HF32MG00.ABS; Sun, 18 May 2003 22:56:40 +1000 Received: from WYPP-p-144-134-137-163.prem.tmns.net.au ([144.134.137.163]) by psmam01.bigpond.com(MAM V3.3.2 65/13931866); 18 May 2003 22:56:40 Content-Type: text/plain; charset="iso-8859-1" From: John Sincock Reply-To: jss@au.mensa.org To: Dara Hazeghi Subject: Re: extremely disappointing bootstrap problems building gcc on linux :( Date: Sun, 18 May 2003 12:56:00 -0000 References: <7005290C-889C-11D7-9A91-000393681B36@yahoo.com> In-Reply-To: <7005290C-889C-11D7-9A91-000393681B36@yahoo.com> Cc: gcc-help@gcc.gnu.org MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SW-Source: 2003-05/txt/msg00137.txt.bz2 Message-ID: <20030518125600.7xNdPx0Qynl3qBYg7-YsKeY01EgW_b6daWd0poThDFc@z> Hi Dara (and other ppl), On Sunday 18 May 2003 04:49 am, you wrote: > 1. gcc 3.2.X and previous could not be built within their source > directory: ie "cd gcc-3.2.3 && ./configure && make" generally failed. > This may account for the -lgcc_eh problem. This was unfortunately not > well documented. I did find those instructions, so all of my attempted builds have been done in a directory separate from the source. I create the dir for configured files, cd into it then run configure to create the configured files in that directory, so i am pretty sure im doing that correctly. For my first few attempted builds with 3.2.2 a month ago, i first configured source in a separate directory, as above, then created another directory full of symlinks to the configured sources, using "lndir". I then ran the make bootsrap in the symlinked dir. I generally like building that way, just to keep the object files completely separate from the source files. I stopped doing that pretty quickly though, when things didnt go well - as there was really no need considering that the configure process for gcc generates a directory separate from the real sources anyway. And to eliminate that as a cause of any problems. > 2. diff files do not apply to tarballs. Period. Diffs apply only to > regular directories. ie tar -xzf gcc-3.2.2.tar.gz && patch -p0 -E < > gcc-3.2.2-3.2.3.diff should work fine. Doh!, Sorry, but yeah i worked that out just a little while after my first post. But, unfortunately, even a (properly patched) gcc 3.2.3 still fails at the same spot as 3.2.2 > 3. --enable-shared and --enable-threads are I believe the default on > Linux. It appears that you may have found a bug in configure on gcc > 3.3. Please just do a vanilla configure without any options, and see if > this still fails. This was the last thing I tried, after both of my previous posts to the list. Removing those configure options didnt make any difference though :( > 3.5. What version of GNU make are you using? There have been a few > which have worked rather less than well (I recall 3.78 had significant > issues). I am using 3.79 which sounds dangerously close to the problem 3.78 version. It is the one which came with mandrake 8.2, so I have never had to update it so far, and it has compiled a LOT of software now, without any problems. I will update this soon and see if I have more luck then, unless someone can verify that 3.79 is known to be fine. > 4. Quite a number of people have successfully built gcc 3.3 on Linux > (and elsewhere). If you look at > http://gcc.gnu.org/gcc-3.3/buildstat.html , you'll see at least 10 > people have successfully built gcc 3.3. So while I sympathize with your > frustration, please remember that we do not have access to your exact > setup, we are a volunteer project, and it is very difficult to test > every possible environment. Thanks for your sympathy :) I know the problem is likely to be some bollocks-up at my end.. so im sorry if my last emails seemed excessively critical. But yeah, i am a bit frustrated with this at the moment. A few more possibilities that have occurred to me: 1) I thought it might be some garbage in my environment.... I cleaned up a bunch of environment variables and reduced my path down to a bare minimum. I also had some non-standard shell options.... I turned them off too. It didnt help. 2) 3.2.2 and 3.2.3 fail because they cant find libgcc_eh.a (or .so). I definitely do not have a libgcc_eh of any kind anywhere on my system. I dont believe 2.95.3 is supposed to have a libgcc_eh, so libgcc_eh should be built by the bootstrap before it is used.... but that does not seem to be happening when i build with 2.96 or 3.0.4. If configure detects when i am using 2.96 or 3.0.4 and expects those compilers to have a libgcc_eh of their own then maybe that could be the problem? Might i need a -devel package for gcc 3.0.4 maybe, in order to get a few bits like gcc_eh !? 3) Something that doesnt make sense to me at all, are the errors I get with 3.3. I made a mistake before, when i said in my first post that at the point where the build fails the file being compiled, g++spec.c doesnt exist. Of course it, does, sorry. The thing that seems odd to me now with 3.3 is that the builds of 3.3 all fail at g++spec.c, with various errors depending on which compiler i am using, usually from cc1. But by this point, a new cc1 has already been built ... and if it is the new cc1 which is being used, why different error messages depending on which compiler i started off with (which should be nearly irrelevant if the new cc1 is being used). And if the new cc1 isnt being used, why isnt it? Is it not used until stage 2 of the bootstrap? Thanks for your comments Dara, especialy re make 3.78, John ps I built my own 2.95.3 from source, and installed dejagnu and ran the testsuites... which it passed fine. So even if my 2.96 and 3.0.4 compilers have been mandrake-ised to hell, i really dont see why my 2.95.3 doesnt work :( A few more failed build attempts: ------------------------------------ gcc 3.3 compiled with 2.96 configured with no options besides --prefix=blahblah plain old make bootstrap ./xgcc -B./ -B/usr/local/gcc/gcc-3.3-20030518/i686-pc-linux-gnu/bin/ -isystem /usr/local/gcc/gcc-3.3-20030518/i686-pc-linux-gnu/include -isystem /usr/local/gcc/gcc-3.3-20030518/i686-pc-linux-gnu/sys-include -dumpspecs > tmp-specs mv tmp-specs specs if [ -f /usr/include/limits.h ] ; then \ cat /mnt/scsi/src/gcc-3.3/gcc/limitx.h /mnt/scsi/src/gcc-3.3/gcc/glimits.h /mnt/scsi/src/gcc-3.3/gcc/limity.h > tmp-xlimits.h; \ else \ cat /mnt/scsi/src/gcc-3.3/gcc/glimits.h > tmp-xlimits.h; \ fi mv tmp-xlimits.h xlimits.h (SHLIB_LINK=' ./xgcc -B./ -B/usr/local/gcc/gcc-3.3-20030518/i686-pc-linux-gnu/bin/ -isystem /usr/local/gcc/gcc-3.3-20030518/i686-pc-linux-gnu/include -isystem /usr/local/gcc/gcc-3.3-20030518/i686-pc-linux-gnu/sys-include -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FOAT_NOT_NEEDED -shared -nodefaultlibs -Wl,--soname=@shlib_so_name@.so.1 -Wl,--version-script=@shlib_map_file@ -o @shlib_dir@@shlib_so_name@.so.1 @multilib_flags@ @shlib_objs@ -lc && rm -f @shlib_base_name@.so && ln -s @shlib_dir@@shlib_so_name@.so.1 @shlib_base_name@.so' \ SHLIB_MULTILIB=''; \ gcc -c -g -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long -DHAVE_CONFIG_H -DSTANDARD_STARTFILE_PREFIX=\"../../../\" -DSTANDARD_EXEC_PREFIX=\"/usr/local/gcc/gcc-3.3-20030518/lib/gcc-lib/\" -DDEFAULT_TARGET_VERSION=\"3.3\" -DDEFAULT_TARGET_MACHINE=\"i686-pc-linux-gnu\" -DSTANDARD_BINDIR_PREFIX=\"/usr/local/gcc/gcc-3.3-20030518/bin/\" -DTOOLDIR_BASE_PREFIX=\"../../../../\" `test "X${SHLIB_LINK}" = "X" || test "yes" != "yes" || echo "-DENABLE_SHARED_LIBGCC"` `test "X${SHLIB_MULTILIB}" = "X" || echo "-DNO_SHARED_LIBGCC_MULTILIB"` \ -I. -I. -I/mnt/scsi/src/gcc-3.3/gcc -I/mnt/scsi/src/gcc-3.3/gcc/. -I/mnt/scsi/src/gcc-3.3/gcc/config -I/mnt/scsi/src/gcc-3.3/gcc/../include /mnt/scsi/src/gcc-3.3/gcc/cp/g++spec.c) cc1: Unrecognized option `-E' cc1: Unrecognized option `-lang-c' cc1: Unrecognized option `-D__GNUC__=3' cc1: Unrecognized option `-D__GNUC_MINOR__=3' cc1: Unrecognized option `-D__GNUC_PATCHLEVEL__=0' cc1: Unrecognized option `-DIN_GCC' cc1: Unrecognized option `-DHAVE_CONFIG_H' cc1: Unrecognized option `-DSTANDARD_STARTFILE_PREFIX="../../../"' cc1: Unrecognized option `-DSTANDARD_EXEC_PREFIX="/usr/local/gcc/gcc-3.3-20030518/lib/gcc-lib/"' cc1: Unrecognized option `-DDEFAULT_TARGET_VERSION="3.3"' cc1: Unrecognized option `-DDEFAULT_TARGET_MACHINE="i686-pc-linux-gnu"' cc1: Unrecognized option `-DSTANDARD_BINDIR_PREFIX="/usr/local/gcc/gcc-3.3-20030518/bin/"' cc1: Unrecognized option `-DTOOLDIR_BASE_PREFIX="../../../../"' cc1: Unrecognized option `-DENABLE_SHARED_LIBGCC' /home/jss/tmp/ccni21gk.i:1: warning: ISO C forbids an empty source file make[2]: *** [g++spec.o] Error 1 make[2]: Leaving directory `/mnt/scsi/src/configured/gcc-3.3/gcc' make[1]: *** [stage1_build] Error 2 make[1]: Leaving directory `/mnt/scsi/src/configured/gcc-3.3/gcc' make: *** [bootstrap] Error 2 ------------------------------------ gcc 3.3 compiled with 2.95.3 configured with no options besides --prefix=blahblah plain old make bootstrap ./xgcc -B./ -B/usr/local/gcc/gcc-3.3-20030518/i686-pc-linux-gnu/bin/ -isystem /usr/local/gcc/gcc-3.3-20030518/i686-pc-linux-gnu/include -isystem /usr/local/gcc/gcc-3.3-20030518/i686-pc-linux-gnu/sys-include -dumpspecs > tmp-specs mv tmp-specs specs if [ -f /usr/include/limits.h ] ; then \ cat /mnt/scsi/src/gcc-3.3/gcc/limitx.h /mnt/scsi/src/gcc-3.3/gcc/glimits.h /mnt/scsi/src/gcc-3.3/gcc/limity.h > tmp-xlimits.h; \ else \ cat /mnt/scsi/src/gcc-3.3/gcc/glimits.h > tmp-xlimits.h; \ fi mv tmp-xlimits.h xlimits.h (SHLIB_LINK=' ./xgcc -B./ -B/usr/local/gcc/gcc-3.3-20030518/i686-pc-linux-gnu/bin/ -isystem /usr/local/gcc/gcc-3.3-20030518/i686-pc-linux-gnu/include -isystem /usr/local/gcc/gcc-3.3-20030518/i686-pc-linux-gnu/sys-include -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fPIC -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -shared -nodefaultlibs -Wl,--soname=@shlib_so_name@.so.1 -Wl,--version-script=@shlib_map_file@ -o @shlib_dir@@shlib_so_name@.so.1 @multilib_flags@ @shlib_objs@ -lc && rm -f @shlib_base_name@.so && ln -s @shlib_dir@@shlib_so_name@.so.1 @shlib_base_name@.so' \ SHLIB_MULTILIB=''; \ gcc -c -g -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long -DHAVE_CONFIG_H -DSTANDARD_STARTFILE_PREFIX=\"../../../\" -DSTANDARD_EXEC_PREFIX=\"/usr/local/gcc/gcc-3.3-20030518/lib/gcc-lib/\" -DDEFAULT_TARGET_VERSION=\"3.3\" -DDEFAULT_TARGET_MACHINE=\"i686-pc-linux-gnu\" -DSTANDARD_BINDIR_PREFIX=\"/usr/local/gcc/gcc-3.3-20030518/bin/\" -DTOOLDIR_BASE_PREFIX=\"../../../../\" `test "X${SHLIB_LINK}" = "X" || test "yes" != "yes" || echo "-DENABLE_SHARED_LIBGCC"` `test "X${SHLIB_MULTILIB}" = "X" || echo "-DNO_SHARED_LIBGCC_MULTILIB"` \ -I. -I. -I/mnt/scsi/src/gcc-3.3/gcc -I/mnt/scsi/src/gcc-3.3/gcc/. -I/mnt/scsi/src/gcc-3.3/gcc/config -I/mnt/scsi/src/gcc-3.3/gcc/../include /mnt/scsi/src/gcc-3.3/gcc/cp/g++spec.c) In file included from /usr/include/_G_config.h:44, from /usr/include/libio.h:32, from /usr/include/stdio.h:65, from /mnt/scsi/src/gcc-3.3/gcc/system.h:45, from /mnt/scsi/src/gcc-3.3/gcc/cp/g++spec.c:22: /usr/include/gconv.h:172: field `__data' has incomplete type In file included from /mnt/scsi/src/gcc-3.3/gcc/system.h:45, from /mnt/scsi/src/gcc-3.3/gcc/cp/g++spec.c:22: /usr/include/stdio.h:181: warning: `__malloc__' attribute directive ignored In file included from /mnt/scsi/src/gcc-3.3/gcc/system.h:116, from /mnt/scsi/src/gcc-3.3/gcc/cp/g++spec.c:22: /usr/include/string.h:59: warning: `__pure__' attribute directive ignored /usr/include/string.h:63: warning: `__pure__' attribute directive ignored /usr/include/string.h:68: warning: `__pure__' attribute directive ignored /usr/include/string.h:72: warning: `__pure__' attribute directive ignored /usr/include/string.h:92: warning: `__pure__' attribute directive ignored /usr/include/string.h:95: warning: `__pure__' attribute directive ignored /usr/include/string.h:99: warning: `__pure__' attribute directive ignored In file included from /mnt/scsi/src/gcc-3.3/gcc/system.h:116, from /mnt/scsi/src/gcc-3.3/gcc/cp/g++spec.c:22: /usr/include/string.h:112: warning: `__pure__' attribute directive ignored /usr/include/string.h:120: warning: `__malloc__' attribute directive ignored /usr/include/string.h:128: warning: `__malloc__' attribute directive ignored /usr/include/string.h:155: warning: `__pure__' attribute directive ignored /usr/include/string.h:157: warning: `__pure__' attribute directive ignored /usr/include/string.h:162: warning: `__pure__' attribute directive ignored /usr/include/string.h:168: warning: `__pure__' attribute directive ignored /usr/include/string.h:172: warning: `__pure__' attribute directive ignored /usr/include/string.h:175: warning: `__pure__' attribute directive ignored /usr/include/string.h:178: warning: `__pure__' attribute directive ignored /usr/include/string.h:183: warning: `__pure__' attribute directive ignored /usr/include/string.h:206: warning: `__pure__' attribute directive ignored /usr/include/string.h:218: warning: `__pure__' attribute directive ignored /usr/include/string.h:224: warning: `__pure__' attribute directive ignored /usr/include/string.h:249: warning: `__pure__' attribute directive ignored /usr/include/string.h:252: warning: `__pure__' attribute directive ignored /usr/include/string.h:255: warning: `__pure__' attribute directive ignored /usr/include/string.h:273: warning: `__pure__' attribute directive ignored /usr/include/string.h:277: warning: `__pure__' attribute directive ignored /usr/include/string.h:284: warning: `__pure__' attribute directive ignored /usr/include/string.h:288: warning: `__pure__' attribute directive ignored /usr/include/string.h:301: warning: `__pure__' attribute directive ignored In file included from /mnt/scsi/src/gcc-3.3/gcc/system.h:129, from /mnt/scsi/src/gcc-3.3/gcc/cp/g++spec.c:22: /usr/include/stdlib.h:137: warning: `__pure__' attribute directive ignored /usr/include/stdlib.h:139: warning: `__pure__' attribute directive ignored /usr/include/stdlib.h:141: warning: `__pure__' attribute directive ignored /usr/include/stdlib.h:146: warning: `__pure__' attribute directive ignored /usr/include/stdlib.h:387: warning: `__pure__' attribute directive ignored /usr/include/stdlib.h:527: warning: `__malloc__' attribute directive ignored /usr/include/stdlib.h:530: warning: `__malloc__' attribute directive ignored /usr/include/stdlib.h:536: warning: `__malloc__' attribute directive ignored In file included from /mnt/scsi/src/gcc-3.3/gcc/system.h:129, from /mnt/scsi/src/gcc-3.3/gcc/cp/g++spec.c:22: /usr/include/stdlib.h:551: warning: `__malloc__' attribute directive ignored /usr/include/stdlib.h:557: warning: `__malloc__' attribute directive ignored In file included from /mnt/scsi/src/gcc-3.3/gcc/system.h:313, from /mnt/scsi/src/gcc-3.3/gcc/cp/g++spec.c:22: /usr/include/malloc.h:121: warning: `__malloc__' attribute directive ignored /usr/include/malloc.h:125: warning: `__malloc__' attribute directive ignored /usr/include/malloc.h:131: warning: `__malloc__' attribute directive ignored /usr/include/malloc.h:143: warning: `__malloc__' attribute directive ignored /usr/include/malloc.h:148: warning: `__malloc__' attribute directive ignored /usr/include/malloc.h:156: warning: `__malloc__' attribute directive ignored In file included from /mnt/scsi/src/gcc-3.3/gcc/system.h:491, from /mnt/scsi/src/gcc-3.3/gcc/cp/g++spec.c:22: /mnt/scsi/src/gcc-3.3/gcc/../include/libiberty.h:54: warning: `__malloc__' attribute directive ignored /mnt/scsi/src/gcc-3.3/gcc/../include/libiberty.h:63: warning: `__malloc__' attribute directive ignored /mnt/scsi/src/gcc-3.3/gcc/../include/libiberty.h:92: warning: `__malloc__' attribute directive ignored /mnt/scsi/src/gcc-3.3/gcc/../include/libiberty.h:101: warning: `__malloc__' attribute directive ignored /mnt/scsi/src/gcc-3.3/gcc/../include/libiberty.h:156: warning: `__malloc__' attribute directive ignored /mnt/scsi/src/gcc-3.3/gcc/../include/libiberty.h:160: warning: `__malloc__' attribute directive ignored /mnt/scsi/src/gcc-3.3/gcc/../include/libiberty.h:224: warning: `__malloc__' attribute directive ignored /mnt/scsi/src/gcc-3.3/gcc/../include/libiberty.h:235: warning: `__malloc__' attribute directive ignored /mnt/scsi/src/gcc-3.3/gcc/../include/libiberty.h:239: warning: `__malloc__' attribute directive ignored /mnt/scsi/src/gcc-3.3/gcc/../include/libiberty.h:243: warning: `__malloc__' attribute directive ignored /mnt/scsi/src/gcc-3.3/gcc/../include/libiberty.h:281: warning: `__nonnull__' attribute directive ignored /mnt/scsi/src/gcc-3.3/gcc/../include/libiberty.h:300: warning: `__malloc__' attribute directive ignored In file included from /mnt/scsi/src/gcc-3.3/gcc/cp/g++spec.c:22: /mnt/scsi/src/gcc-3.3/gcc/system.h:585: warning: ignoring pragma: strdup /mnt/scsi/src/gcc-3.3/gcc/system.h:594: warning: ignoring pragma: realloc /mnt/scsi/src/gcc-3.3/gcc/system.h:598: warning: ignoring pragma: ASM_OUTPUT_MI_THUNK /mnt/scsi/src/gcc-3.3/gcc/system.h:614: warning: ignoring pragma: ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL /mnt/scsi/src/gcc-3.3/gcc/system.h:629: warning: ignoring pragma: LANG_HOOKS_MARK_TREE /mnt/scsi/src/gcc-3.3/gcc/system.h:640: warning: ignoring pragma: rindex In file included from /mnt/scsi/src/gcc-3.3/gcc/cp/g++spec.c:23: /mnt/scsi/src/gcc-3.3/gcc/gcc.h:63: warning: `__nonnull__' attribute directive ignored /mnt/scsi/src/gcc-3.3/gcc/gcc.h:64: warning: `__nonnull__' attribute directive ignored make[2]: *** [g++spec.o] Error 1 make[2]: Leaving directory `/mnt/scsi/src/configured/gcc-3.3/gcc' make[1]: *** [stage1_build] Error 2 make[1]: Leaving directory `/mnt/scsi/src/configured/gcc-3.3/gcc' make: *** [bootstrap] Error 2 well... umm... all those errors just cant be good... but it is still failing on the same file.... g++spec.c