egcs1.0.2 + libg++ cross build failure
Joel Sherrill
joel@OARcorp.com
Thu Apr 2 03:41:00 GMT 1998
On Tue, 31 Mar 1998, Neal Becker wrote:
> I am trying to build egcs-1.0.2 + libg++-2.8.1 patch as cross with
> host i686-pc-linux-gnu target m68k-unknown-coff.
>
> I am building with newlib-1.8.0.
I regularly build m68k-rtems using newlib 1.8.0 and egcs 1.0.2 for all
languages (including fortran and objective-c) and don't have any real
problems. It is just a matter of doing things in the right order.
> Problem 1) Headers aren't found. Yes I've read the FAQ. Headers
> can't possibly be found, because you have to install the compiler
> first, then you can install newlib. My solution: I added
> --with-headers=<path_to_newlib>/newlib/libc/include. *Luckily* the
> needed headers are all in this directory.
-Dinhibit-libc should be included on LIBGCC2_CFLAGS. I thought the
configure scripts added this automatically on egcs. This used ot be part
of the crossgcc patch.
> Problem 2) Configuring in m68k-unknown-coff/librx
> creating cache ./config.cache
> checking for gcc... /usr/local/src/m68k/egcs-1.0.2/gcc/xgcc -B/usr/local/src/m68k/egcs-1.0.2/gcc/
> checking whether the C compiler (/usr/local/src/m68k/egcs-1.0.2/gcc/xgcc -B/usr/local/src/m68k/egcs-1.0.2/gcc/ -g -O2 ) works... no
> configure: error: installation or configuration problem: C compiler
> cannot create executables.
Look at config.log but this indicates that the configure script is trying
to link a test program and can't. It is probably because you have not
gotten a crt0.o yet as that is built with newlib.
> My solution: Go ahead and make -k install LANGUAGES="c c++". Then
> build and install newlib. Then go back and build in egcs+libg++ again
> (now that crt0 is installed this last error will hopefully go away).
Yep. This is how the RTEMS tool build script does it. It does this
+ build/install c and c++
+ remove limits.h and libgcc.a and rebuild them so they don't have
to do the inhibit_libc (RTEMS' limits.h is in newlib and gcc
can't find it the first time it generates xlimits.h)
+ build/install all other languages
This seems to work pretty reliably so I think you are on the right track.
--joel
More information about the Gcc
mailing list