Re: Compiling in ROS-Indigo with PCL-1.7.2: Undefined reference to...
Posted by Frank on
URL: http://official-rtab-map-forum.206.s1.nabble.com/Compiling-in-ROS-Indigo-with-PCL-1-7-2-Undefined-reference-to-tp386p390.html
Alright.
I am trying this now:
1. I have uninstalled the source files by doing sudo make uninstall (from the build folder of rtabmap).
2. re-installed the binaries (not source) by sudo apt-get install ros-indigo-rtabmap-ros
3. i launch the demo by
roslaunch rtabmap_ros demo_robot_mapping.launch
rosbag play --clock demo_mapping.bag
4. and here is the output as well as error (last few lines)
[ INFO] [1430606789.997768580]: Starting node...
[ INFO] [1430606790.064827724]: rtabmap: frame_id = base_footprint
[ INFO] [1430606790.064935751]: rtabmap: map_frame_id = map
[ INFO] [1430606790.064975534]: rtabmap: queue_size = 10
[ INFO] [1430606790.065023223]: rtabmap: tf_delay = 0.050000
[ INFO] [1430606790.170893240]: Setting RTAB-Map parameter "LccBow/InlierDistance"="0.1"
[ INFO] [1430606790.173544220]: Setting RTAB-Map parameter "LccBow/MaxDepth"="0.0"
[ INFO] [1430606790.178827672]: Setting RTAB-Map parameter "LccIcp/Type"="2"
[ INFO] [1430606790.329131056]: Setting RTAB-Map parameter "RGBD/LocalLoopDetectionSpace"="true"
[ INFO] [1430606790.329814987]: Setting RTAB-Map parameter "RGBD/LocalLoopDetectionTime"="false"
[ INFO] [1430606790.334837269]: Setting RTAB-Map parameter "RGBD/OptimizeFromGraphEnd"="false"
[ INFO] [1430606790.335575531]: Setting RTAB-Map parameter "RGBD/PoseScanMatching"="true"
[ INFO] [1430606790.586038749]: RTAB-Map rate detection = 1.000000 Hz
[ INFO] [1430606790.649546224]: rtabmap: Deleted database "/home/frank/.ros/rtabmap.db" (--delete_db_on_start is set).
[ INFO] [1430606790.649604196]: rtabmap: Using database from "/home/frank/.ros/rtabmap.db".
[ INFO] [1430606791.453759532]: Starting node...
[ INFO] [1430606792.669150185]: rtabmapviz: Using configuration from "/opt/ros/indigo/share/rtabmap_ros/launch/config/rgbd_gui.ini"
[ INFO] [1430606795.222827302]: Registering Depth+LaserScan callback...
[ INFO] [1430606795.226908443]: rtabmap started...
[ INFO] [1430606795.602759693]: Reading parameters from the ROS server...
[ INFO] [1430606795.698753932]: Parameters read = 160
[ INFO] [1430606795.698804031]: Parameters successfully read.
[ INFO] [1430606795.976236318]: Registering Depth+LaserScan callback...
[ INFO] [1430606795.988303668]: rtabmapviz started.
[ WARN] [1430606803.276944414, 1368730003.593206127]: Lookup would require extrapolation into the past. Requested time 1368730003.446602750 but the earliest data is at time 1368730003.924972857, when looking up transform from frame [base_laser_link] to frame [base_footprint]
[ WARN] [1430606803.382188234, 1368730003.694028431]: Lookup would require extrapolation into the past. Requested time 1368730003.521858750 but the earliest data is at time 1368730003.924972857, when looking up transform from frame [base_laser_link] to frame [base_footprint]
[ WARN] [1430606803.476801834, 1368730003.794814477]: Lookup would require extrapolation into the past. Requested time 1368730003.596578750 but the earliest data is at time 1368730003.924972857, when looking up transform from frame [base_laser_link] to frame [base_footprint]
[ WARN] [1430606803.477290592, 1368730003.794814477]: Lookup would require extrapolation into the future. Requested time 1368730003.721525750 but the latest data is at time 1368730003.707868865, when looking up transform from frame [base_laser_link] to frame [base_footprint]
[ WARN] [1430606803.758676397, 1368730004.072299446]: Lookup would require extrapolation into the past. Requested time 1368730003.896618750 but the earliest data is at time 1368730003.924972857, when looking up transform from frame [base_laser_link] to frame [base_footprint]
[ WARN] [1430606804.276030368, 1368730004.596970035]: Could not get transform from base_footprint to base_laser_link after 1 second!
[ WARN] [1430606804.364572722, 1368730004.677735584]: Use depth image with "unsigned short" type to avoid conversion. This message is only printed once...
/opt/ros/indigo/lib/rtabmap_ros/rtabmap: symbol lookup error: /opt/ros/indigo/lib/rtabmap_ros/rtabmap: undefined symbol: _ZN11rtabmap_ros13mapGraphToROSERKSt3mapIiN7rtabmap9TransformESt4lessIiESaISt4pairIKiS2_EEERKS0_IiiS4_SaIS5_IS6_iEEERKSt8multimapIiNS1_4LinkES4_SaIS5_IS6_SI_EEERKS2_RNS_6Graph_ISaIvEEE
[rtabmap/rtabmap-2] process has died [pid 3816, exit code 127, cmd /opt/ros/indigo/lib/rtabmap_ros/rtabmap --delete_db_on_start odom:=/az3/base_controller/odom scan:=/jn0/base_scan rgb/image:=/data_throttled_image depth/image:=/data_throttled_image_depth rgb/camera_info:=/data_throttled_camera_info __name:=rtabmap __log:=/home/frank/.ros/log/1255c5d8-f11d-11e4-8d7b-acb57d02f12d/rtabmap-rtabmap-2.log].
log file: /home/frank/.ros/log/1255c5d8-f11d-11e4-8d7b-acb57d02f12d/rtabmap-rtabmap-2*.log
-----------
I tried installing the rtabmap (binaries) on a friends computer last night. He had Ubuntu 14.04 and ROS Indigo (ROS indigo binaries for PCL and OpenCV just like yourself) and the demo worked flawlessly. I however, have PCL 1.7.2 installed as well as OpenCV 2.4.10 (i am using them both for the project and wish to use rtabmap as well).
Please let me know if any of this makes sense to you.
Thank you very much :)
-Frank
----
Update 1:
Using c++filt on the symbol above:
echo _ZN11rtabmap_ros13mapGraphToROSERKSt3mapIiN7rtabmap9TransformESt4lessIiESaISt4pairIKiS2_EEERKS0_IiiS4_SaIS5_IS6_iEEERKSt8multimapIiNS1_4LinkES4_SaIS5_IS6_SI_EEERKS2_RNS_6Graph_ISaIvEEE|c++filt
results in:
rtabmap_ros::mapGraphToROS(std::map<int, rtabmap::Transform, std::less<int>, std::allocator<std::pair<int const, rtabmap::Transform> > > const&, std::map<int, int, std::less<int>, std::allocator<std::pair<int const, int> > > const&, std::multimap<int, rtabmap::Link, std::less<int>, std::allocator<std::pair<int const, rtabmap::Link> > > const&, rtabmap::Transform const&, rtabmap_ros::Graph_<std::allocator<void> >&)
Thanks