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