Ask Your Question

Cross-compiling ROS for NAO atom robot

asked 2013-01-29 04:09:00 -0500

I.T gravatar image


I have followed the tutorial: (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/ undefined reference to `boost::thread_resource_error::thread_resource_error()'
../../../lib/ undefined reference to `boost::filesystem::detail::get_current_path_api(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)'
../../../lib/ undefined reference to `boost::lock_error::lock_error()'
../../../lib/ undefined reference to `boost::system::get_system_category()'
/home/nao/linux32-nao-atom-cross-toolchain-1.14/sysroot/usr/lib/ undefined reference to `std::_List_node_base::_M_transfer(std::_List_node_base*, std::_List_node_base*)@GLIBCXX_3.4.14'
../../../lib/ undefined reference to `boost::filesystem::detail::create_directory_api(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
../../../lib/ undefined reference to `boost::system::get_generic_category()'
/home/nao/linux32-nao-atom-cross-toolchain-1.14/sysroot/usr/lib/ 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/ 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/ 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 [] 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 ... (more)

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted

answered 2013-03-02 21:32:55 -0500

tfoote gravatar image

I suggest taking your question to the ROS Embedded SIG

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools


Asked: 2013-01-29 04:09:00 -0500

Seen: 585 times

Last updated: Mar 02 '13