Rosanswers logo


I have followed the tutorial: ros.org/wiki/nao/Tutorials/Cross-Compiling_NAO-V4 (could not post as link due to low karma) in order to install ROS on a NAO robot.

My configuration: Ubuntu 10.04 32-bit, NAO atom robot, Aldebaran cross-toolchain: linux32-nao-atom-cross-toolchain-1.14

I did not notice any errors during the tutorial (but I might have missed error messages!), so I transferred the installation to a NAO robot as in step 1.8. However, when running


in a SSH session to the robot, roscore immediately shut down after startup because it could not locate the boost library. It was looking for boost version 1.40, but the files I transferred to the NAO contained boost version 1.48.

Trying to solve my problem I went back to the tutorial and realised I had missed to change

export ROS_BOOST_VERSION="1.45.0"


export ROS_BOOST_VERSION="1.48"

as 1.48 is the boost shipped with the cross-toolchain tools from Aldebaran.

However, now that I re-do step "1.4 Compiling ROS Base from source" in the tutorial, on

make -j8

I get a bunch of these errors:

    [ 98%] Building CXX object ros_comm/tools/rosbag/CMakeFiles/rosbag.dir/src/buffer.cpp.o
../../../lib/librostime.so: undefined reference to `boost::thread_resource_error::thread_resource_error()'
../../../lib/libroscpp.so: undefined reference to `boost::filesystem::detail::get_current_path_api(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)'
../../../lib/librostime.so: undefined reference to `boost::lock_error::lock_error()'
../../../lib/libroscpp.so: undefined reference to `boost::system::get_system_category()'
/home/nao/linux32-nao-atom-cross-toolchain-1.14/sysroot/usr/lib/libboost_regex-mt-1_48.so: undefined reference to `std::_List_node_base::_M_transfer(std::_List_node_base*, std::_List_node_base*)@GLIBCXX_3.4.14'
../../../lib/libroscpp.so: undefined reference to `boost::filesystem::detail::create_directory_api(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
../../../lib/libroscpp.so: undefined reference to `boost::system::get_generic_category()'
/home/nao/linux32-nao-atom-cross-toolchain-1.14/sysroot/usr/lib/libboost_regex-mt-1_48.so: undefined reference to `std::_List_node_base::_M_unhook()@GLIBCXX_3.4.14'
/home/nao/linux32-nao-atom-cross-toolchain-1.14/sysroot/usr/lib/libboost_signals-mt-1_48.so: undefined reference to `std::_List_node_base::_M_reverse()@GLIBCXX_3.4.14'
/home/nao/linux32-nao-atom-cross-toolchain-1.14/sysroot/usr/lib/libboost_regex-mt-1_48.so: undefined reference to `std::_List_node_base::_M_hook(std::_List_node_base*)@GLIBCXX_3.4.14'
collect2: ld returned 1 exit status
make[2]: *** [ros_comm/tools/rosout/bin/rosout] Error 1
make[1]: *** [ros_comm/tools/rosout/CMakeFiles/rosout.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

Which tells me there's something wrong with boost. Also, in the step before:


I get these kinds of warnings which might be related:

CMake Warning at ros_comm/test/test_roscpp/src/CMakeLists.txt:150 (add_executable):
  Cannot generate a safe runtime search path for target
  test_roscpp-nonconst_subscriptions because files in some directories may
  conflict with libraries in implicit directories:

    runtime library [libgtest.so.0] in /usr/lib may be hidden by files in:

  Some of these libraries may not be found correctly.

There are a lot of these warnings for many different libraries.

I'm a bit lost in all these errors and hope someone can give some insight, thanks in advance!

Originally posted by I.T on ROS Answers with karma: 67 on 2013-01-29

Post score: 1


1 Answer 1


Rosanswers logo

I suggest taking your question to the ROS Embedded SIG

Originally posted by tfoote with karma: 58457 on 2013-03-02

This answer was ACCEPTED on the original site

Post score: 0


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.