gcc 3.2 compile errors

Dagmar d'Surreal dagmar at speakeasy.net
Mon Oct 21 10:58:04 PDT 2002

On Mon, 21 Oct 2002, kaiyilin wrote:

> I just started to make my first LFS according to Book Ver4.0. Host
> is my Suse 7.0 (kernel 2.2.16) Everything was fine until I tried to
> compile gcc 3.2 in Chapter 5 and got these error msgs;
> stage2/xgcc -Bstage2/ -B/static/i586-pc-linux-gnu/bin/ -c -DIN_GCC    -g
> -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes
> -Wtraditional -pedantic -Wno-long-long  -DHAVE_CONFIG_H    -I. -I.
> -I../../gcc-3.2/gcc -I../../gcc-3.2/gcc/. -I../../gcc-3.2/gcc/config
> -I../../gcc-3.2/gcc/../include ../../gcc-3.2/gcc/varasm.c -o varasm.o
> ../../gcc-3.2/gcc/varasm.c: In function `output_constant_pool':
> ../../gcc-3.2/gcc/varasm.c:4095: internal error: Illegal instruction
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
> make[2]: *** [varasm.o] Error 1
> make[2]: Leaving directory `/LFS/static/src/gcc-build/gcc'
> make[1]: *** [stage3_build] Error 2
> make[1]: Leaving directory `/LFS/static/src/gcc-build/gcc'
> make: *** [bootstrap] Error 2
> No clue why. I applied 2 patches and should not do any spell mistakes.
> Any hints are welcome!!
> By the way as I compiled the bash 2.05 I got error msg at first like
> cannot guess host system, plz specify host.
> I used --build 1586-amd-linux-gnu option to compile it. Is it normal??

Okay, while it's not technically incorrect to change the second argument
of that string to "amd" it's semantically confusing.  That's supposed to
normally contain the generic 'pc' or optionally, distribution vendors put
their names there (slackware, redhat, etc).  AMD, being a cpu-type in this
scenario, is a bit out of context.  My suggestion  (after reading your
other emails) would be to compile this _exactly_ as the book suggests and
not add anything extra.  I have been building the compiler toolchain for
years (on a buncha different things, too) and only once in a blue moon
does one need to specify the build target.  (Generally if you do, it's a
sign you've stripped all the symbols from part of your binutils that you
shouldn't have).  Specifying the build target incorrectly, as you have
done here, is usually disastrous.  "1586" is entirely incorrect.  "i586"
might not be accurrate, but should have been reasonably compatible.  The
first field is the _architecture_ (btw), not the CPU.  i386, i486, i586,
i686, ppc, whatever.  Letting it autodetect is almost always the correct
thing to do.

Unsubscribe: send email to listar at linuxfromscratch.org
and put 'unsubscribe lfs-support' in the subject header of the message

More information about the lfs-support mailing list