getting toolchain to be used

Xen list at xenhideout.nl
Tue May 2 21:09:49 UTC 2017


I understand that the build environment has changed since 1.7 but I am 
trying to build 1.7 for an older Synology device.

I first succeeded in building it using OE but since the compiler and/or 
libc used was too high for the platform I am now trying to do it using 
the platform's toolchain.

Unfortunately it seems it is using my own host g++ instead of the 
toolchain g++ when it ought to be using that one.

I have copied many options from those used by OE. The biggest difference 
is that I am either using an older toolchain or I am not using -e.

But when currently I use -e it fails immediately due to probably some 
variables being unset.

What is the best way to ensure it is using my proper toolchain?

here are some of the values I have defined:

export ALT_OBJCOPY=${TOOLDIR}/${prefix}objcopy
export ALT_STRIP=${TOOLDIR}/${prefix}strip
export ALT_CPP=${TOOLDIR}/${prefix}cpp
export ALT_GCC="${TOOLDIR}/${prefix}gcc -march=armv5e -marm 
--sysroot=$SYSROOT"
export ALT_LD="$ALT_GCC"
export ALT_CXX="${TOOLDIR}/${prefix}g++ -march=armv5e -marm 
--sysroot=$SYSROOT"
export ALT_CPP_FLAGS=-lstdc++
export ALT_CXX_FLAGS=-lstdc++
export BUILD_CC="$ALT_GCC"
export BUILD_LD="$ALT_GCC"
export BUILD_GCC="$ALT_GCC"
export BUILD_CXX="$ALT_CXX"
export HOST_CC=gcc
export CC_FOR_BUILD=$HOST_CC

with TOOLDIR being something like arm-none-linux-gnueabi/bin
and prefix being arm-none-linux-gnueabi-

The point is that it first gives some hpp errors with ints not being 
long ints, and then later an error referencing a crt1.o file on my main 
system.

which clearly indicates that my main g++ is being used.

I am using the same bootstrap as OE, which is 1.6.0.

I am not using the same PATH although that wouldn't matter in this sense 
I believe.

This is because the "hosttools" are also in the path, just last.

And their directory of "native" tools doesn't contain any compilers.

So everything seems to be quite equivalent.

I added variables CC and CCC and CXX to that list now...

Now it does do something different! And appears to halt on conversion 
errors (float to double, int to long, int to float, ...)

and I can't get it to honour any compiler flags...

Well with these changed CC/CCC/CXX values it just outputs more warnings, 
ultimately I got the same errors, I fixed the first ones, now I get 
again.

I used the wrong LD...

But it's still not using my own g++. Help?



More information about the build-dev mailing list