public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
From: John Sincock <jss@au.mensa.org>
To: Dara Hazeghi <dhazeghi@yahoo.com>
Cc: gcc-help@gcc.gnu.org
Subject: Re: extremely disappointing bootstrap problems building gcc on linux :(
Date: Sun, 18 May 2003 12:56:00 -0000	[thread overview]
Message-ID: <20030518125600.5rHMAXoxnSmv0T3FFa57NjHKvDy3y7XefaIW5MhvLLU@z> (raw)
In-Reply-To: <7005290C-889C-11D7-9A91-000393681B36@yahoo.com>

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






  parent reply	other threads:[~2003-05-18 12:56 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-05-17 19:19 Dara Hazeghi
2003-05-18 12:56 ` John Sincock
2003-05-18 12:56 ` John Sincock [this message]
  -- strict thread matches above, loose matches on Subject: below --
2003-06-01 18:36 Dara Hazeghi
     [not found] <20030521073851.73254.qmail@web41110.mail.yahoo.com>
2003-06-01 12:06 ` ible
2003-06-01 12:06 ` ible
     [not found] <200305171200.h4HC0acA251822@e35.co.us.ibm.com>
2003-05-19 19:37 ` Janis Johnson
2003-05-17 12:00 John Sincock
2003-05-17 12:00 John Sincock

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030518125600.5rHMAXoxnSmv0T3FFa57NjHKvDy3y7XefaIW5MhvLLU@z \
    --to=jss@au.mensa.org \
    --cc=dhazeghi@yahoo.com \
    --cc=gcc-help@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).