ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Cross compile ros minimal using Eros on Fedora 14

asked 2011-04-20 13:18:22 -0500

nohemi gravatar image

Hello, I use Fedora 14 and my current version of boost and boost-devel is 1.44 I have been trying to cross compile ROS using the instructions found under the Eros page. I have followed all instructions (including the tool bridge) and I have been successful in all of the steps up until the command
rosprotect --pre-clean --minimal
I have the following output from this command:
[100%] Building CXX object CMakeFiles/example.dir/examples/example.o Linking CXX executable ../examples/example /home/nohemi/ros/ros_comm/utilities/rostime/lib/librostime.so: undefined reference to boost::thread_resource_error::thread_resource_error()' collect2: ld returned 1 exit status make[3]: *** [../examples/example] Error 1 make[3]: Leaving directory/home/nohemi/ros/ros_comm/tools/rosconsole/build' make[2]: * [CMakeFiles/example.dir/all] Error 2 make[2]: Leaving directory /home/nohemi/ros/ros_comm/tools/rosconsole/build' make[1]: *** [all] Error 2 make[1]: Leaving directory/home/nohemi/ros/ros_comm/tools/rosconsole/build' make: * [all] Error 2

I am not sure how to proceed. Do I need to upgrade to an older version of boost? Or do I need to change some file headers? Or maybe something else entirely?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2011-04-21 15:40:52 -0500

Daniel Stonier gravatar image

updated 2011-04-21 16:46:16 -0500

Undefined references. Typically this happens when it looks for your cross compiled library, but picked up your native library instead. Some things to check:

  • Your CMAKE_FIND_ROOT_PATH. This is where cmake expects to search for libs and headers. If its wrong, it can fall back to native directories. Find your toolchain's library path (the one with libpthread-2.8.so in it, if you subtract the lib folder, you have the correct string.
  • Make sure your cross compiled libraries are there, otherwise it may fall back to trying to use your native libraries.

If you're not using a standard eros toolchain module you may have incorrectly specified the TOOLCHAIN_SYSROOT, TOOLCHAIN_INSTALL_PREFIX (and subsequently CMAKE_FIND_ROOT_PATH) settings when attempting to create a custom toolchain module. Refer to the latter page for more hints on how to track down your library/header paths.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2011-04-20 13:18:22 -0500

Seen: 464 times

Last updated: Apr 21 '11