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

Newer Boost Library Ubuntu 10.04

asked 2012-01-27 07:50:13 -0500

KM gravatar image

Hi all!

I am having a little issue linking a newer version of Boost (1.46.1) against ROS Electric in Lucid (10.04).

I have specified the newer version for the ROS environment using.

ROS_BOOST_VERSION=1.46.1

and

ROS_BOOST_ROOT=/usr/local/include/

I have also removed every trace of boost 1.40

However when I try to compile a package.. joy for example. I get the error:

/usr/bin/ld: warning: libboost_signals.so.1.40.0, needed by 
/opt/ros/electric/stacks/common_msgs/sensor_msgs/lib/libsensor_msgs.so, 
not found (try using -rpath or -rpath-link)

Any ideas on what I am doing wrong?

edit retag flag offensive close merge delete

Comments

1
Are you recompiling everything from source? Have you made sure that you have cleaned all packages before rebuilding with the new version of boost?
tfoote gravatar image tfoote  ( 2012-01-27 07:56:04 -0500 )edit
I had previously wiped and reinstalled from the debian.. This of course packaged boost 1.40 because of the lucid install. Shall I try reinstalling everything again but from source? edit: Do I need to do anything special when compiling from source?
KM gravatar image KM  ( 2012-01-27 07:58:48 -0500 )edit
Ok, I tried recompiling from the source. It again tries to install libboost1.40-all-dev from the in the install script.. Executing script below with cwd=/tmp {{{ #!/bin/bash #Packages ['libboost1.40-all-dev'] sudo apt-get install libboost1.40-all-dev }}} I said no and it stopped installation.
KM gravatar image KM  ( 2012-01-27 08:26:08 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted
2

answered 2012-01-30 04:47:35 -0500

KM gravatar image

As Tully said the main fix is to recompile ROS from source (Thanks Tully).

Here are the few things that I did before hand to get it to compile accordingly and stop throwing the errors. These may not all be necessary.

edit your bashrc to export the following.

#In my case the boost 1.46.1 library was located in /usr/local/lib
export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH" 
#I also wanted to explicitly tell the ROS environment my boost location
export ROS_BOOST_ROOT="/usr/local/"
export ROS_BOOST_VERSION="1.46.1"

I then followed the intructions for compiling from source at ros.org/wiki/electric/Installation/Ubuntu/Source

You may also want to preclean any package that you are recompiling.

rosmake --pre-clean

Hope this helps.

edit flag offensive delete link more
0

answered 2012-08-29 15:18:07 -0500

agoto gravatar image

Hello, sorry for answering but I do not have enough karma to comment yet. It seems I ran into the same problem, having different boost versions and leading to a segmentation fault, so I might have to recompile ROS from source. I do not want to take the risk of erasing any of my packages or files I have on my workspace, though. Could you please help me with the commands I need to type in order to recompile ROS from source? Do I need to uninstall my previous version before - and if yes, how?

edit flag offensive delete link more

Comments

1

You do not need to uninstall your previous versions of ROS. When you edited your bash.rc during installation you 'most likely' pointed your environment to your ROS installation ie. /opt/ros/fuerte. You can change your environment to your new installation if you choose to compile from source.

kmaroney gravatar image kmaroney  ( 2012-08-30 09:07:14 -0500 )edit

Instructions on how to compile ROS from source can be found: http://www.ros.org/wiki/fuerte/Installation/Ubuntu/Source (Fuerte)

kmaroney gravatar image kmaroney  ( 2012-08-30 09:08:51 -0500 )edit

Lastly, no you do not risk erasing any of your packages or files if you install from source, or purge your debian ROS installation via apt-get.

kmaroney gravatar image kmaroney  ( 2012-08-30 09:10:14 -0500 )edit

Question Tools

Stats

Asked: 2012-01-27 07:50:13 -0500

Seen: 1,408 times

Last updated: Aug 29 '12