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

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.




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:, needed by 
not found (try using -rpath or -rpath-link)

Any ideas on what I am doing wrong?

edit retag flag offensive close merge delete


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

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

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

rosmake --pre-clean

Hope this helps.

edit flag offensive delete link more

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



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: (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


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

Seen: 1,408 times

Last updated: Aug 29 '12