Symptom¶
A cross-compilation build from sources runs fails when the XCXX
cross-compiler variable contains a --sysroot argument:
$ ./build
sh: 1: aarch64-gnu-linux-g++ --sysroot=/home/user/sdk/sysroots/aarch64-gnu-linux: not found
Aborting build. Last command exited with status 127.
Possible Cause and Suggested Solution¶
Please verify the value of the XCXX
environment variable:
echo $XCXX
Does it contain both the cross-compiler name as well as the --sysroot switch?
The XCXX
setting should be limited to the compiler executable itself (aarch64-gnu-linux-g++
in above example). Additional switches should be specified via the CXXFLAGS
switch:
XCXX=aarch64-gnu-linux-g++
export XCXX
./configure <other_switches> CXXFLAGS+="--sysroot=/home/user/sdk/sysroots/aarch64-gnu-linux"