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

ROS Hydro and Boost 1.48

asked 2014-05-27 16:14:44 -0600

According to REP 3, ROS Hydro was meant to support Boost 1.48. Everytime I try to install the libboost-1.48-dev package, however, the package manager tells me it will remove all the ros-hydro packages.

Why does that happen and how can I use both simultaneously, if at all possible? I need to upgrade in order to compile the PCL latest trunk from source. Thanks!

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2014-05-27 18:12:35 -0600

ahendrix gravatar image

The source installation of ROS will compile with other versions of boost, but due to the possibility of binary incompatibility, the binary versions of ROS must be installed with the same version of boost that they were built with.

If you'd like to use ROS with a version of boost other than the standard version, you'll have to build ROS from source.

edit flag offensive delete link more


Doesn't the OSRF compile all packages in their build farm, though? Since Boost 1.48 is available in the repositories for Precise Pangolin, I don't see why they'd do that. Thanks for the tip though, I'll try compiling from source!

georgebrindeiro gravatar image georgebrindeiro  ( 2014-05-29 10:03:38 -0600 )edit

There are multiple versions of boost available as packages for Precise, and it looks like the Ubuntu devs have chosen boost 1.46 as the primary version on Precise, so that's the version of boost that ROS uses.

ahendrix gravatar image ahendrix  ( 2014-05-29 10:32:56 -0600 )edit

I tried a source install of ROS Desktop after removing everything ROS-related and installing libboost1.48-all-dev. The problem is that even doing a source install leads to this issue, since rosdep considers libboost-all-dev as a dependency. Would you have any suggestions on what to try next?

georgebrindeiro gravatar image georgebrindeiro  ( 2014-05-29 13:01:47 -0600 )edit

BTW, rosdep also fails to install libogre-dev because it relies on the defaults for libboost-date-time-dev and libboost-thread-dev as well

georgebrindeiro gravatar image georgebrindeiro  ( 2014-05-29 13:02:18 -0600 )edit

I would explicitly tell rosdep to ignore the missing dependency on libboost-all-dev, since you're providing that through a non-standard package.

ahendrix gravatar image ahendrix  ( 2014-05-29 13:08:42 -0600 )edit

It sounds like libogre-dev is in the same situation as the ROS binaries: they depend on boost, so they depend on the default version of boost on the system. You can either remove all of the ros packages that depend on ogre, or build and install ogre from source on top of your newer boost.

ahendrix gravatar image ahendrix  ( 2014-05-29 13:10:29 -0600 )edit

Seems like a hell of compiling everything in the universe from source is ahead of me :) and all of that just because I need the latest pcl and it needs newer boost libs than 1.46... I wish I could just fix these package dependencies manually. Thanks for the help!

georgebrindeiro gravatar image georgebrindeiro  ( 2014-05-29 16:32:51 -0600 )edit

Sadly, yes. The other alternative is to move to a newer version of Ubuntu that has the correct version of boost by default.

ahendrix gravatar image ahendrix  ( 2014-05-29 17:33:36 -0600 )edit

Question Tools

1 follower


Asked: 2014-05-27 16:14:44 -0600

Seen: 1,608 times

Last updated: May 27 '14