[ros-users] cross-compiling self_test fails

Daniel Maier maierd at informatik.uni-freiburg.de
Wed Apr 13 12:52:57 UTC 2011


I am trying to cross-compile ROS (diamondback) for the Nao (again) in a  
32-bit ubuntu maverick chroot environment.
However, something seems to go wrong.
I have rostoolchain.cmake setup to include to the cross-compilation  
toolchain file provided by Aldebaran,
and manually set CMAKE_FIND_ROOT_PATH to point to the cross-compilation  
toolchain directories.

The ros base system builds without errors, however when I try to compile  
the package:

[ self_test ]

I receive the linker error:
/usr/lib/libboost_regex-mt.so: undefined reference to  
`std::ctype<char>::_M_widen_init() const at GLIBCXX_3.4.11'
collect2: ld returned 1 exit status

I think this problem is that ros tries to link to my local boost version  
instead of the one provided by Aldebaran.
More sepecific, I think the problem is that the file
contains the passage

If I delete that part from the file, I can compile self_test, but it gets  
overwritten once I call rosmake again.
The passage is also in

and I think it is somehow automatically generated by the  
rosbuild_add_gtest_build_flags line (or something like that).
However, I was unable to find the macro/script which generates this  

Can someone help me out on this and either provide a patch or tell me what  
I am potentially doing wrong?


More information about the ros-users mailing list