[ros-users] Installation build failure: incompatible boost library
Nikhil Karnad
karnad at cs.umn.edu
Thu May 13 00:36:47 UTC 2010
Hi, my name is Nikhil and I'm trying to install ROS on Ubuntu but I've run
into a linker library incompatibility with libboost. Any help is
appreciated. Here are the specifics:
+ Operating system is Ubuntu 10.04 LTS (Lucid) 64-bit:
Linux beast 2.6.32-22-generic #33-Ubuntu SMP Wed Apr 28
13:28:05 UTC 2010 x86_64 GNU/Linux
+ First installed prerequisites: build-essential python-yaml cmake
subversion wget
+ Used OS-neutral rosinstall method: ~/myros/rosinstall ~/myros/ros
http://ros.org/rosinstalls/boxturtle_ros.rosinstall
+ The files checkout correctly, but compilation does not work and exits with
an error. The lines at the end are:
[ 92%] Building CXX object CMakeFiles/roslib.dir/src/package.o
[100%] Building CXX object CMakeFiles/roslib.dir/src/debug.o
Linking CXX shared library ../lib/libroslib.so
/usr/bin/ld: skipping incompatible
/opt/ros/lib/libboost_thread-gcc42-mt-1_37.so when searching for
-lboost_thread-gcc42-mt-1_37
/usr/bin/ld: skipping incompatible
/opt/ros/lib/libboost_thread-gcc42-mt-1_37.a when searching for
-lboost_thread-gcc42-mt-1_37
/usr/bin/ld: cannot find -lboost_thread-gcc42-mt-1_37
collect2: ld returned 1 exit status
The complete log from "buildfailures-with-context.txt" is available at the
following pastebin link:
http://pastebin.com/yi4tzxnm
My guess: the shared object in /opt/ros/lib for libboost is a 32-bit ELF,
whereas I need a 64-bit version. I deduced this by comparing the default
boost shared object with the one in the /opt/ros library:
$ file /opt/ros/lib/libboost_thread-gcc42-mt-1_37.so.1.37.0
/opt/ros/lib/libboost_thread-gcc42-mt-1_37.so.1.37.0: ELF 32-bit LSB shared
object, Intel 80386, version 1 (SYSV), dynamically linked, stripped
$ file /usr/lib/libboost_thread.so.1.40.0
/usr/lib/libboost_thread.so.1.40.0: ELF 64-bit LSB shared object, x86-64,
version 1 (SYSV), dynamically linked, stripped
Could anyone tell me how I can recompile the libraries that go into
/opt/ros/lib? Or more generally, how can I get it to work without using a
different (32-bit) Linux?
Thanks in advance!
Nikhil
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osuosl.org/pipermail/ros-users/attachments/20100512/5c4f4e31/attachment-0002.html>
More information about the ros-users
mailing list