Hi Mathieu,
I have a fresh Ubuntu 16.04 + ROS Kinetic install with all updates. I have to make some tests with stereo odometry using data from a Duo3D camera so I installed RTAB-Map from the standard ROS package with sudo apt-get install ros-kinetic-rtabmap-rosthen I created a simple launch file just to test if everything is working (no other nodes are running): <launch> <node pkg="rtabmap_ros" type="stereo_odometry" name="stereo_odometry" output="screen"/> <launch>However, when I launch it, I receive the following error: /opt/ros/kinetic/lib/rtabmap_ros/stereo_odometry: error while loading shared libraries: librtabmap_core.so.0.11: cannot open shared object file: No such file or directory failed to start local process: /opt/ros/kinetic/lib/rtabmap_ros/stereo_odometry __name:=stereo_odometry __log:=/home/agrirobot/.ros/log/33572a9a-473b-11e6-9c2d-0001c0182df6/stereo_odometry-6.log local launch of rtabmap_ros/stereo_odometry failed [stereo_odometry-6] process has died [pid -1, exit code 127, cmd /opt/ros/kinetic/lib/rtabmap_ros/stereo_odometry __name:=stereo_odometry __log:=/home/agrirobot/.ros/log/33572a9a-473b-11e6-9c2d-0001c0182df6/stereo_odometry-6.log]. log file: /home/agrirobot/.ros/log/33572a9a-473b-11e6-9c2d-0001c0182df6/stereo_odometry-6*.logIt seems it cannot find the rtabmap library... Wasn't it supposed to be installed together with the ROS package? Thanks, Guido
~Guido
|
This post was updated on .
As a side note, running rtabmap standalone from terminal works, it just give some warnings, but I think they are not related with the other problem:
~$ rtabmap [ INFO] (2016-07-11 10:07:33.509) PreferencesDialog.cpp:1841::writeSettings() modified RGBD/ProximityAngle = 45.0->45 [ INFO] (2016-07-11 10:07:33.509) PreferencesDialog.cpp:1841::writeSettings() modified Rtabmap/LoopRatio = 0.0->0 [ INFO] (2016-07-11 10:07:33.509) PreferencesDialog.cpp:1841::writeSettings() modified Rtabmap/TimeThr = 0.0->0 [ INFO] (2016-07-11 10:07:33.509) PreferencesDialog.cpp:1841::writeSettings() modified Vis/MaxDepth = 0.0->0 [ INFO] (2016-07-11 10:07:33.509) PreferencesDialog.cpp:1841::writeSettings() modified Vis/MinDepth = 0.0->0 [ INFO] (2016-07-11 10:07:33.509) PreferencesDialog.cpp:1841::writeSettings() modified Vis/PnPReprojError = 2.0->2 QMutex: destroying locked mutex
~Guido
|
Administrator
|
Hi Guido,
This error happens when the linker cannot find the library on runtime in the standard paths. The rtabmap library uses multi-arch installation, so it would be installed in /opt/ros/kinetic/lib/x86_64-linux-gnu instead of /opt/ros/kinetic/lib. For some reasons, the library paths may not be correctly set on a fresh install. Make sure to source the setup.bash in your catkin devel workspace, it sometimes add lib/x86_64-linux-gnu to LD_LIBRARY_PATH environment variable. If not automatically added, you can add it manually (or add this line at the end of your "~/.bashrc"): export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ros/kinetic/lib/x86_64-linux-gnu For the rtabmap standalone, these are info logs, not warnings. However, they should not appear normally: there is a minor bug that makes think 45.0 is different than 45 (they are compared as string, not as double). cheers |
I have these files in the folder you mentioned:
$ ls /opt/ros/kinetic/lib/x86_64-linux-gnu/ librtabmap_core.so librtabmap_gui.so librtabmap_utilite.so rtabmap-0.11 librtabmap_core.so.0.11 librtabmap_gui.so.0.11 librtabmap_utilite.so.0.11 librtabmap_core.so.0.11.7 librtabmap_gui.so.0.11.7 librtabmap_utilite.so.0.11.7And these are the last two lines of my ~/.bash.rc source /opt/ros/kinetic/setup.bash source ~/catkin_ws/devel/setup.bashBut the real problem was LD_LIBRARY_PATH, as you suggested: $ echo $LD_LIBRARY_PATH /home/guido/catkin_ws/devel/lib:/opt/ros/kinetic/libI appended the 'export' line to .bashrc and now it works! Thanks for your precious suggestions, as always.
~Guido
|
This post was updated on .
PS: shouldn't this workaround be included in the official installation guide of RTAB-Map?
~Guido
|
Free forum by Nabble | Edit this page |