Problem with Canadian cross (was: Re: Error building libgcc: missing setting for CPP)
Ian Lance Taylor
iant@google.com
Tue Jan 24 08:47:00 GMT 2012
Paul Smith <psmith@gnu.org> writes:
> So I first created a cross-compiler for OLDSYS, configuring binutils
> (2.22) and gcc (4.6.2) with --target=OLDSYS --with-sysroot=OLDSYSROOT
> (and building and installing into a separate directory of course).
>
> Then I started trying to create the Canadian cross, configuring binutils
> and GCC with --host=OLDSYS --target=NEWSYS --with-sysroot=NEWSYSROOT.
>
> When I do this, I can see it finding the OLDSYS compiler I built
> previously, and binutils configures and builds fine and if I check, the
> resulting binary is indeed a 32bit version and runs fine on OLDSYS.
>
> And, gcc appears to be working fine, for a while. Then I get this
> error:
>
> OLDSYS-gcc -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -DNATIVE_CROSS \
> -W [...] -DHAVE_CONFIG_H -o cpp gcc.o o [...] \
> ../libcpp/libcpp.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a
> NEWSYS-gcc -dumpspecs > tmp-specs
> /bin/sh: NEWSYS-gcc: command not found
In order to build a Canadian Cross build-x-host-x-target, you need to
first build the build-x-host cross-compiler and the build-x-target
cross-compiler. In this case I think you have failed to build the
build-x-target cross-compiler, which in your terminology would be
--target=NEWSYS.
Ian
More information about the Gcc-help
mailing list