Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Boost cross compiling for arm, toolset not recognized despite definition in user-config.jam

I am try to cross-compile boost 1.52.0 for a freescale ARM processor board from a PC running Linux.

Based on the (rather minimal) documentation on cross compiling boost, I have set up with a user-config.jam file that reads as follows:

using gcc : arm : /mnt/lv1/src/ROM1210/cross_compiler/arm-fsl-linux-gnueabi/bin/arm-fsl-linux-gnueabi-g++ ;

I then ran

bootstrap.sh --prefix=`realpath ../tools`
./b2 toolset=gcc-arm

The results were:

/mnt/lv1/src/ROM1210/extras/boost_1_52_0/tools/build/v2/tools/gcc.jam:107: in gcc.init from module gcc
error: toolset gcc initialization:
error: version 'arm' requested but 'g++-arm' not found and version '4.3.2' of default 'g++' does not match
error: initialized from
/mnt/lv1/src/ROM1210/extras/boost_1_52_0/tools/build/v2/build/toolset.jam:39: in toolset.using from module toolset
/mnt/lv1/src/ROM1210/extras/boost_1_52_0/tools/build/v2/build-system.jam:481: in process-explicit-toolset-requests from module build-system
/mnt/lv1/src/ROM1210/extras/boost_1_52_0/tools/build/v2/build-system.jam:562: in load from module build-system
/mnt/lv1/src/ROM1210/extras/boost_1_52_0/tools/build/v2/kernel/modules.jam:283: in import from module modules
/mnt/lv1/src/ROM1210/extras/boost_1_52_0/tools/build/v2/kernel/bootstrap.jam:142: in boost-build from module
/mnt/lv1/src/ROM1210/extras/boost_1_52_0/boost-build.jam:17: in module scope from module

Running b2 with --debug-configuration offers little extra info, other than confirming that the correct user-config.jam file is being read.

Any ideas what I'm doing wrong?

like image 309
Jules Avatar asked Jan 17 '13 14:01

Jules


1 Answers

Turns out it wasn't my user-config.jam file being loaded, but one packaged with the boost distribution and with a very similar filename. Always pays to double check these things when something goes wrong!

like image 123
Jules Avatar answered Oct 03 '22 05:10

Jules