0
$\begingroup$

Rosanswers logo

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?


Originally posted by KM on ROS Answers with karma: 66 on 2012-01-27

Post score: 3


Original comments

Comment by KM on 2012-01-27:
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.

Comment by KM on 2012-01-27:
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?

Comment by tfoote on 2012-01-27:
Are you recompiling everything from source? Have you made sure that you have cleaned all packages before rebuilding with the new version of boost?

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

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.


Originally posted by KM with karma: 66 on 2012-01-30

This answer was ACCEPTED on the original site

Post score: 2

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.