Cross Compiling Boost for use on the Gumstix Overo with GumROS
- by amelim
I'm trying to cross-compile boost for use with the ROS framework on a Gumstix Overo. I've been following the posted instructions here (modifying the script when need be), however I've come across an issue where bjam will not compile boost properly.
I call bjam as follows:
# boost
if [ ! -f /opt/gumros/lib/libboost_date_time-gcc41-mt-1_38.so ] ; then
if [ ! -f boost_1_38_0.tar.gz ] ; then
wget --tries=10 http://heanet.dl.sourceforge.net/sourceforge/boost/boost_1_38_0.tar.gz
fi
# tar xzf boost_1_38_0.tar.gz
cd boost_1_38_0
GPP_PATH=${OVEROTOP}/tmp/cross/armv7a/arm-angstrom-linux-gnueabi/bin/g++
GPP_VER=`${GPP_PATH} -v 2>&1 | tail -1 | awk '{print $3}'`
echo "using gcc : ${GPP_VER} : ${GPP_PATH} ; " > tools/build/v2/user-config.jam
sudo apt-get install bjam
set +o errexit
sudo bjam --toolset=gcc-${GPP_VER} --prefix=/opt/gumros --with-date_time install
set -o errexit
cd ..
else
echo "boost appears to be already installed; skipping."
fi
if [ ! -f /opt/gumros/lib/libboost_date_time-gcc41-mt-1_38.so ] ; then
echo "Failed to compile libboost_date_time";
exit;
fi
I've checked the user-config to make sure everything was kosher as well as making sure the GPP_PATH is correct. However, when I run the scrip I come across compilation errors such as:
Reading package lists... Done Building
dependency tree Reading state
information... Done bjam is already
the newest version. 0 upgraded, 0
newly installed, 0 to remove and 5 not
upgraded. ...patience... ...found
14370 targets... ...updating 14
targets... gcc.compile.c++
bin.v2/libs/date_time/build/gcc-4.3.3/release/threading-multi/gregorian/greg_month.o
g++: error trying to exec 'cc1plus':
execvp: No such file or directory
"/home/andrew/overo-oe/tmp/cross/armv7a/arm-angstrom-linux-gnueabi/bin/g++"
-ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread -fPIC -DBOOST_ALL_DYN_LINK=1 -DBOOST_ALL_NO_LIB=1 -DDATE_TIME_INLINE -DNDEBUG -I"." -c -o "bin.v2/libs/date_time/build/gcc-4.3.3/release/threading-multi/gregorian/greg_month.o"
"libs/date_time/src/gregorian/greg_month.cpp"
...failed gcc.compile.c++
bin.v2/libs/date_time/build/gcc-4.3.3/release/threading-multi/gregorian/greg_month.o...
gcc.compile.c++
bin.v2/libs/date_time/build/gcc-4.3.3/release/threading-multi/gregorian/greg_weekday.o
g++: error trying to exec 'cc1plus':
execvp: No such file or directory
"/home/andrew/overo-oe/tmp/cross/armv7a/arm-angstrom-linux-gnueabi/bin/g++"
-ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -pthread -fPIC -DBOOST_ALL_DYN_LINK=1 -DBOOST_ALL_NO_LIB=1 -DDATE_TIME_INLINE -DNDEBUG -I"." -c -o "bin.v2/libs/date_time/build/gcc-4.3.3/release/threading-multi/gregorian/greg_weekday.o"
"libs/date_time/src/gregorian/greg_weekday.cpp"
...failed gcc.compile.c++
bin.v2/libs/date_time/build/gcc-4.3.3/release/threading-multi/gregorian/greg_weekday.o...
gcc.compile.c++
bin.v2/libs/date_time/build/gcc-4.3.3/release/threading-multi/gregorian/date_generators.o
g++: error trying to exec 'cc1plus':
execvp: No such file or directory
Etc...
For reference, I'm using this tutorial to help me out. http://www.ros.org/wiki/gumros