Ubuntu 14.04 Install ROS Indigo with Boost 1.64/1.67

asked 2018-07-23 06:31:23 -0500

SC12 gravatar image

updated 2018-07-23 09:16:49 -0500

I am on Ubuntu 14.04 and I would like to install ROS Indigo but with a small difference.

On Ubuntu 14.04 the libboost-dev and libboost-all-dev are linked to libboost1.54-dev and libboost1.54-all-dev respectively. ROS Indigo installed from the package manager is depending on libboost-dev and libboost-all-dev.

I need to install from source OMPL which requires (to fully work) Boost 1.64+ (because of the Numpy library).

I have package A that is a catkin package (located under ~/catkin_ws/src).

I wrote a Python script that imports some Python code (compiled with Boost from package A) and also imports from the OMPL library. If OMPL is compiled/linked with Boost 1.64+ and ROS/Catkin with system boost (libboost1.54-all-dev) then I will get a segmentation fault when running the Python script because two Boost versions are mixed (as a result of importing package A and OMPL).

My question is how to tackle this obstacle? Can I install ROS and Catkin such that they use a local Boost version (i.e 1.64) so they are consistent?

In the past, I messed up with my system because ROS Indigo was installed with Boost 1.54 and when I was running catkin_make -DBoost_DIR=/path/to/boost1.64/installation -DBOOST_ROOT=/path/to/boost1.64/installation -DBoost_NO_SYSTEM_PATHS=ON -DBoost_ADDITIONAL_VERSIONS="1.54;1.54.0" the compile won't complete there were always errors regarding Boost 1.64. So I am not sure why I can't compile my catkin packages with different Boost version. Is it because ROS Indigo was installed with Boost 1.54 and that's what creates the incompatibility?

edit retag flag offensive close merge delete