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?

Reply via email to