使用GumROS在Gumstix Overo上使用交叉编译Boost

时间:2010-03-19 03:18:13

标签: boost cross-compiling bjam

我正在尝试交叉编译boost以在Gumstix Overo上使用ROS框架。我一直在关注这里发布的指令(在需要时修改脚本),但是我遇到了bjam无法正确编译boost的问题。

我按照以下方式调用bjam:

# 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

我已经检查了user-config以确保一切都是犹太洁食以及确保GPP_PATH是正确的。但是,当我运行脚本时,我遇到了编译错误,例如:

  

阅读包裹清单......完成建筑   依赖树阅读状态   信息...已经完成了bjam   最新版本。 0升级,0   新安装,0删除,5不   升级。 ......耐心......发现   14370目标......更新14   目标...... gcc.compile.c ++   bin.v2 /库/ DATE_TIME /编译/ GCC-4.3.3 /发行/线程的多/阳历/ greg_month.o   g ++:错误尝试执行'cc1plus':   execvp:没有这样的文件或目录

"/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”   “库/ DATE_TIME / SRC /阳历/ greg_month.cpp”

     

... gcc.compile.c ++失败了   bin.v2 /库/ DATE_TIME /编译/ GCC-4.3.3 /发行/线程的多/阳历/ greg_month.o ...   gcc.compile.c ++   bin.v2 /库/ DATE_TIME /编译/ GCC-4.3.3 /发行/线程的多/阳历/ greg_weekday.o   g ++:错误尝试执行'cc1plus':   execvp:没有这样的文件或目录

"/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”   “库/ DATE_TIME / SRC /阳历/ greg_weekday.cpp”

     

... gcc.compile.c ++失败了   bin.v2 /库/ DATE_TIME /编译/ GCC-4.3.3 /发行/线程的多/阳历/ greg_weekday.o ...   gcc.compile.c ++   bin.v2 /库/ DATE_TIME /编译/ GCC-4.3.3 /发行/线程的多/阳历/ date_generators.o   g ++:错误尝试执行'cc1plus':   execvp:没有这样的文件或目录

等等...

供参考,我正在使用本教程来帮助我。 http://www.ros.org/wiki/gumros

1 个答案:

答案 0 :(得分:1)

正在运行

"/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"

用手给出同样的错误?如果是这样,似乎您的编译器可能安装不正确。