Ask Your Question
0

Compiling ROS Fuerte with boost 1.46.1

asked 2012-09-05 16:27:29 -0500

agoto gravatar image

updated 2012-09-06 04:25:21 -0500

joq gravatar image

Hello,

I have a problem similar to this one. I am running Ubuntu 10.04 32-bit, kernel 2.6.32.59 and gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1). I am trying to compile ROS Fuerte from source against boost 1.46.1, but still getting a filesystem error during compilation. I checked that lboost_filesystem_mt is flagged in ~/ros-underlay/build/rospack/CMakeFiles/rospack.dir/link.txt. I ran

make -j8

with VERBOSE=1

The output is

[ 33%] Generating C++ code from actionlib/TestRequestActionResult.msg
cd /home/caris/ros-underlay/build/actionlib && ../env.sh /usr/bin/python2.6 /home/caris/ros-underlay/build/bin/gen_cpp.py /home/caris/ros-underlay/build/actionlib/actions_gen/TestRequestActionResult.msg -Iactionlib: -Iactionlib:/home/caris/ros-underlay/build/actionlib/actions_gen -Iactionlib:/home/caris/ros-underlay/build/actionlib/actions_gen -Iactionlib:/home/caris/ros-underlay/build/actionlib/actions_gen -Iactionlib:/home/caris/ros-underlay/build/actionlib/actions_gen -Iactionlib:/home/caris/ros-underlay/build/actionlib/actions_gen -Iactionlib:/home/caris/ros-underlay/build/actionlib/actions_gen -Istd_msgs:/home/caris/ros-underlay/std_msgs/msg -Iactionlib_msgs:/home/caris/ros-underlay/common_msgs/actionlib_msgs/msg -p actionlib -o /home/caris/ros-underlay/build/gen/cpp/actionlib -e /home/caris/ros-underlay/gencpp/scripts
../lib/librospack.so: undefined reference to `boost::filesystem3::detail::current_path(boost::system::error_code*)'
../lib/librospack.so: undefined reference to `boost::filesystem3::path::m_append_separator_if_needed()'
../lib/librospack.so: undefined reference to `boost::filesystem3::path::m_erase_redundant_separator(unsigned int)'
../lib/librospack.so: undefined reference to `boost::filesystem3::detail::directory_iterator_increment(boost::filesystem3::directory_iterator&, boost::system::error_code*)'
../lib/librospack.so: undefined reference to `boost::filesystem3::detail::directory_iterator_construct(boost::filesystem3::directory_iterator&, boost::filesystem3::path const&, boost::system::error_code*)'
../lib/librospack.so: undefined reference to `boost::system::system_category()'
../lib/librospack.so: undefined reference to `boost::filesystem3::detail::create_directory(boost::filesystem3::path const&, boost::system::error_code*)'
../lib/librospack.so: undefined reference to `boost::filesystem3::detail::dir_itr_close(void*&, void*&)'
../lib/librospack.so: undefined reference to `boost::program_options::options_description::options_description(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, unsigned int)'
../lib/librospack.so: undefined reference to `boost::filesystem3::path::wchar_t_codecvt_facet()'
../lib/librospack.so: undefined reference to `boost::filesystem3::path::filename() const'
../lib/librospack.so: undefined reference to `boost::filesystem3::detail::status(boost::filesystem3::path const&, boost::system::error_code*)'
../lib/librospack.so: undefined reference to `boost::filesystem3::path::operator/=(boost::filesystem3::path const&)'
../lib/librospack.so: undefined reference to `boost::filesystem3::path::parent_path() const'
../lib/librospack.so: undefined reference to `boost::system::generic_category()'
collect2: ld returned 1 exit status
make[2]: *** [bin/rosstack] Error 1
make[2]: Leaving directory `/home/caris/ros-underlay/build'
make[1]: *** [rospack/CMakeFiles/rosstackexe.dir/all] Error 2

Am I missing something? I didn't really understand Tully's response in the related question (to add -lboost_program_options to the linker flags exported by rospack in it's manifest)...I am kinda lost with ROS cmake files.

Thanks in advance.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2012-09-06 17:37:40 -0500

agoto gravatar image

So actually the CMakeFiles were pointing to an older version of Boost, even though I had set ROS_BOOST_ROOT correctly. I have symlinked the newest versions (not very clean, I know) and the compilation finished.

But that's not the end. I hardly made my way to section 1.3 - Build Higher-level/tools (Layer 2) - as described here, and having to manually install missing packages that rosdep couldn't find - and I am now stuck at compiling colladadom. I am still having problems with the boost filesystem and system libraries, with undefined references and stuff.

Actually, I wonder if someone has successfully installed ROS Fuerte against 1.46.1 - or a newer version. It seems that it is not really compatible and a lot of dependency errors happens.

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

Stats

Asked: 2012-09-05 16:27:29 -0500

Seen: 502 times

Last updated: Sep 06 '12