Re: Is it a problem of version?
Posted by yincanben on
URL: http://official-rtab-map-forum.206.s1.nabble.com/Is-it-a-problem-of-version-tp87p90.html
When run catkin command,the error present:
Built target geotiff_node
Linking CXX executable /home/ycb/catkin_ws/devel/lib/rtabmap_ros/data_player
Linking CXX executable /home/ycb/catkin_ws/devel/lib/rtabmap_ros/odom_msg_to_tf
Linking CXX executable /home/ycb/catkin_ws/devel/lib/rtabmap_ros/map_optimizer
Linking CXX executable /home/ycb/catkin_ws/devel/lib/rtabmap_ros/rgbd_odometry
Linking CXX executable /home/ycb/catkin_ws/devel/lib/rtabmap_ros/map_assembler
Linking CXX executable /home/ycb/catkin_ws/devel/lib/rtabmap_ros/grid_map_assembler
Linking CXX executable /home/ycb/catkin_ws/devel/lib/rtabmap_ros/data_recorder
[ 91%] Built target rgbdslam
Linking CXX executable /home/ycb/catkin_ws/devel/lib/rtabmap_ros/rtabmap
/home/ycb/catkin_ws/devel/lib/librtabmap_ros.so: undefined reference to `rtabmap::Odometry::process(rtabmap::SensorData const&, rtabmap::OdometryInfo*)'
collect2: ld returned 1 exit status
make[2]: *** [/home/ycb/catkin_ws/devel/lib/rtabmap_ros/odom_msg_to_tf] Error 1
make[1]: *** [rtabmap_ros/CMakeFiles/odom_msg_to_tf.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
CMakeFiles/map_optimizer.dir/src/MapOptimizerNode.cpp.o: In function `MapOptimizer::mapDataReceivedCallback(boost::shared_ptr<rtabmap_ros::MapData_<std::allocator<void> > const> const&)':
MapOptimizerNode.cpp:(.text._ZN12MapOptimizer23mapDataReceivedCallbackERKN5boost10shared_ptrIKN11rtabmap_ros8MapData_ISaIvEEEEE[MapOptimizer::mapDataReceivedCallback(boost::shared_ptr<rtabmap_ros::MapData_<std::allocator<void> > const> const&)]+0xcd4): undefined reference to `rtabmap::util3d::optimizeTOROGraph(std::map<int, int, std::less<int>, std::allocator<std::pair<int const, int> > > const&, std::map<int, rtabmap::Transform, std::less<int>, std::allocator<std::pair<int const, rtabmap::Transform> > > const&, std::multimap<int, rtabmap::Link, std::less<int>, std::allocator<std::pair<int const, rtabmap::Link> > > const&, std::map<int, rtabmap::Transform, std::less<int>, std::allocator<std::pair<int const, rtabmap::Transform> > >&, int, bool, bool, std::list<std::map<int, rtabmap::Transform, std::less<int>, std::allocator<std::pair<int const, rtabmap::Transform> > >, std::allocator<std::map<int, rtabmap::Transform, std::less<int>, std::allocator<std::pair<int const, rtabmap::Transform> > > > >*)'
MapOptimizerNode.cpp:(.text._ZN12MapOptimizer23mapDataReceivedCallbackERKN5boost10shared_ptrIKN11rtabmap_ros8MapData_ISaIvEEEEE[MapOptimizer::mapDataReceivedCallback(boost::shared_ptr<rtabmap_ros::MapData_<std::allocator<void> > const> const&)]+0xd2e): undefined reference to `rtabmap::util3d::optimizeTOROGraph(std::map<int, rtabmap::Transform, std::less<int>, std::allocator<std::pair<int const, rtabmap::Transform> > > const&, std::multimap<int, rtabmap::Link, std::less<int>, std::allocator<std::pair<int const, rtabmap::Link> > > const&, std::map<int, rtabmap::Transform, std::less<int>, std::allocator<std::pair<int const, rtabmap::Transform> > >&, int, bool, bool, std::list<std::map<int, rtabmap::Transform, std::less<int>, std::allocator<std::pair<int const, rtabmap::Transform> > >, std::allocator<std::map<int, rtabmap::Transform, std::less<int>, std::allocator<std::pair<int const, rtabmap::Transform> > > > >*)'
/home/ycb/catkin_ws/devel/lib/librtabmap_ros.so: undefined reference to `rtabmap::Odometry::process(rtabmap::SensorData const&, rtabmap::OdometryInfo*)'
collect2: ld returned 1 exit status
make[2]: *** [/home/ycb/catkin_ws/devel/lib/rtabmap_ros/map_optimizer] Error 1
make[1]: *** [rtabmap_ros/CMakeFiles/map_optimizer.dir/all] Error 2
CMakeFiles/grid_map_assembler.dir/src/GridMapAssemblerNode.cpp.o: In function `GridMapAssembler::mapDataReceivedCallback(boost::shared_ptr<rtabmap_ros::MapData_<std::allocator<void> > const> const&)':
GridMapAssemblerNode.cpp:(.text._ZN16GridMapAssembler23mapDataReceivedCallbackERKN5boost10shared_ptrIKN11rtabmap_ros8MapData_ISaIvEEEEE[GridMapAssembler::mapDataReceivedCallback(boost::shared_ptr<rtabmap_ros::MapData_<std::allocator<void> > const> const&)]+0xdf): undefined reference to `rtabmap::util3d::laserScanToPointCloud(cv::Mat const&)'
/home/ycb/catkin_ws/devel/lib/librtabmap_ros.so: undefined reference to `rtabmap::Odometry::process(rtabmap::SensorData const&, rtabmap::OdometryInfo*)'
collect2: ld returned 1 exit status
make[2]: *** [/home/ycb/catkin_ws/devel/lib/rtabmap_ros/grid_map_assembler] Error 1
make[1]: *** [rtabmap_ros/CMakeFiles/grid_map_assembler.dir/all] Error 2
CMakeFiles/rgbd_odometry.dir/src/RGBDOdometryNode.cpp.o: In function `RGBDOdometry::callback(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::CameraInfo_<std::allocator<void> > const> const&)':
RGBDOdometryNode.cpp:(.text._ZN12RGBDOdometry8callbackERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEES9_RKNS1_IKNS2_11CameraInfo_IS4_EEEE[RGBDOdometry::callback(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::CameraInfo_<std::allocator<void> > const> const&)]+0x7ac): undefined reference to `rtabmap::SensorData::SensorData(cv::Mat const&, cv::Mat const&, float, float, float, float, rtabmap::Transform const&, rtabmap::Transform const&, float, int)'
/home/ycb/catkin_ws/devel/lib/librtabmap_ros.so: undefined reference to `rtabmap::Odometry::process(rtabmap::SensorData const&, rtabmap::OdometryInfo*)'
collect2: ld returned 1 exit status
make[2]: *** [/home/ycb/catkin_ws/devel/lib/rtabmap_ros/rgbd_odometry] Error 1
make[1]: *** [rtabmap_ros/CMakeFiles/rgbd_odometry.dir/all] Error 2
CMakeFiles/data_player.dir/src/DbPlayerNode.cpp.o: In function `main':
DbPlayerNode.cpp:(.text+0x1643): undefined reference to `rtabmap::DBReader::getNextData()'
DbPlayerNode.cpp:(.text+0x3380): undefined reference to `rtabmap::DBReader::getNextData()'
/home/ycb/catkin_ws/devel/lib/librtabmap_ros.so: undefined reference to `rtabmap::Odometry::process(rtabmap::SensorData const&, rtabmap::OdometryInfo*)'
collect2: ld returned 1 exit status
make[2]: *** [/home/ycb/catkin_ws/devel/lib/rtabmap_ros/data_player] Error 1
make[1]: *** [rtabmap_ros/CMakeFiles/data_player.dir/all] Error 2
/usr/bin/ld: warning: libpcl_common.so.1.8, needed by /home/ycb/catkin_ws/devel/lib/rtabmap-0.7/librtabmap_core.so, may conflict with libpcl_common.so.1.7
/usr/bin/ld: warning: libpcl_search.so.1.8, needed by /home/ycb/catkin_ws/devel/lib/rtabmap-0.7/librtabmap_core.so, may conflict with libpcl_search.so.1.7
/usr/bin/ld: warning: libpcl_filters.so.1.8, needed by /home/ycb/catkin_ws/devel/lib/rtabmap-0.7/librtabmap_core.so, may conflict with libpcl_filters.so.1.7
CMakeFiles/map_assembler.dir/src/MapAssemblerNode.cpp.o: In function `MapAssembler::mapDataReceivedCallback(boost::shared_ptr<rtabmap_ros::MapData_<std::allocator<void> > const> const&)':
MapAssemblerNode.cpp:(.text._ZN12MapAssembler23mapDataReceivedCallbackERKN5boost10shared_ptrIKN11rtabmap_ros8MapData_ISaIvEEEEE[MapAssembler::mapDataReceivedCallback(boost::shared_ptr<rtabmap_ros::MapData_<std::allocator<void> > const> const&)]+0xcf9): undefined reference to `rtabmap::util3d::laserScanToPointCloud(cv::Mat const&)'
/home/ycb/catkin_ws/devel/lib/librtabmap_ros.so: undefined reference to `rtabmap::Odometry::process(rtabmap::SensorData const&, rtabmap::OdometryInfo*)'
collect2: ld returned 1 exit status
make[2]: *** [/home/ycb/catkin_ws/devel/lib/rtabmap_ros/map_assembler] Error 1
make[1]: *** [rtabmap_ros/CMakeFiles/map_assembler.dir/all] Error 2
/usr/bin/ld: warning: libpcl_common.so.1.8, needed by /home/ycb/catkin_ws/devel/lib/rtabmap-0.7/librtabmap_core.so, may conflict with libpcl_common.so.1.7
CMakeFiles/rtabmap.dir/src/CoreWrapper.cpp.o: In function `CoreWrapper::depthScanCallback(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<nav_msgs::Odometry_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::CameraInfo_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::LaserScan_<std::allocator<void> > const> const&)':
CoreWrapper.cpp:(.text+0x736f): undefined reference to `rtabmap::util3d::laserScanFromPointCloud(pcl::PointCloud<pcl::PointXYZ> const&)'
CMakeFiles/rtabmap.dir/src/CoreWrapper.cpp.o: In function `CoreWrapper::stereoScanCallback(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::CameraInfo_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::CameraInfo_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::LaserScan_<std::allocator<void> > const> const&, boost::shared_ptr<nav_msgs::Odometry_<std::allocator<void> > const> const&)':
CoreWrapper.cpp:(.text+0x8f42): undefined reference to `rtabmap::util3d::laserScanFromPointCloud(pcl::PointCloud<pcl::PointXYZ> const&)'
CMakeFiles/rtabmap.dir/src/CoreWrapper.cpp.o: In function `CoreWrapper::process(int, cv::Mat const&, rtabmap::Transform const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float, cv::Mat const&, float, float, float, float, rtabmap::Transform const&, cv::Mat const&)':
CoreWrapper.cpp:(.text+0x9b3f): undefined reference to `rtabmap::SensorData::SensorData(cv::Mat const&, cv::Mat const&, cv::Mat const&, float, float, float, float, rtabmap::Transform const&, rtabmap::Transform const&, float, int)'
/home/ycb/catkin_ws/devel/lib/librtabmap_ros.so: undefined reference to `rtabmap::Odometry::process(rtabmap::SensorData const&, rtabmap::OdometryInfo*)'
collect2: ld returned 1 exit status
make[2]: *** [/home/ycb/catkin_ws/devel/lib/rtabmap_ros/rtabmap] Error 1
make[1]: *** [rtabmap_ros/CMakeFiles/rtabmap.dir/all] Error 2
/usr/bin/ld: warning: libpcl_common.so.1.8, needed by /home/ycb/catkin_ws/devel/lib/rtabmap-0.7/librtabmap_core.so, may conflict with libpcl_common.so.1.7
CMakeFiles/data_recorder.dir/src/DataRecorderNode.cpp.o: In function `DataRecorderWrapper::depthImageCallback(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::CameraInfo_<std::allocator<void> > const> const&)':
DataRecorderNode.cpp:(.text._ZN19DataRecorderWrapper18depthImageCallbackERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEES9_RKNS1_IKNS2_11CameraInfo_IS4_EEEE[DataRecorderWrapper::depthImageCallback(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::CameraInfo_<std::allocator<void> > const> const&)]+0x72e): undefined reference to `rtabmap::SensorData::SensorData(cv::Mat const&, cv::Mat const&, float, float, float, float, rtabmap::Transform const&, rtabmap::Transform const&, float, int)'
CMakeFiles/data_recorder.dir/src/DataRecorderNode.cpp.o: In function `DataRecorderWrapper::depthCallback(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<nav_msgs::Odometry_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::CameraInfo_<std::allocator<void> > const> const&)':
DataRecorderNode.cpp:(.text._ZN19DataRecorderWrapper13depthCallbackERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEERKNS1_IKN8nav_msgs9Odometry_IS4_EEEES9_RKNS1_IKNS2_11CameraInfo_IS4_EEEE[DataRecorderWrapper::depthCallback(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<nav_msgs::Odometry_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::CameraInfo_<std::allocator<void> > const> const&)]+0x7a3): undefined reference to `rtabmap::SensorData::SensorData(cv::Mat const&, cv::Mat const&, float, float, float, float, rtabmap::Transform const&, rtabmap::Transform const&, float, int)'
CMakeFiles/data_recorder.dir/src/DataRecorderNode.cpp.o: In function `DataRecorderWrapper::depthScanCallback(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<nav_msgs::Odometry_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::CameraInfo_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::LaserScan_<std::allocator<void> > const> const&)':
DataRecorderNode.cpp:(.text._ZN19DataRecorderWrapper17depthScanCallbackERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEERKNS1_IKN8nav_msgs9Odometry_IS4_EEEES9_RKNS1_IKNS2_11CameraInfo_IS4_EEEERKNS1_IKNS2_10LaserScan_IS4_EEEE[DataRecorderWrapper::depthScanCallback(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<nav_msgs::Odometry_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::CameraInfo_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::LaserScan_<std::allocator<void> > const> const&)]+0x622): undefined reference to `rtabmap::util3d::laserScanFromPointCloud(pcl::PointCloud<pcl::PointXYZ> const&)'
DataRecorderNode.cpp:(.text._ZN19DataRecorderWrapper17depthScanCallbackERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEERKNS1_IKN8nav_msgs9Odometry_IS4_EEEES9_RKNS1_IKNS2_11CameraInfo_IS4_EEEERKNS1_IKNS2_10LaserScan_IS4_EEEE[DataRecorderWrapper::depthScanCallback(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<nav_msgs::Odometry_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::CameraInfo_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::LaserScan_<std::allocator<void> > const> const&)]+0xb67): undefined reference to `rtabmap::SensorData::SensorData(cv::Mat const&, cv::Mat const&, cv::Mat const&, float, float, float, float, rtabmap::Transform const&, rtabmap::Transform const&, float, int)'
CMakeFiles/data_recorder.dir/src/DataRecorderNode.cpp.o: In function `DataRecorderWrapper::stereoOdomCallback(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::CameraInfo_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::CameraInfo_<std::allocator<void> > const> const&, boost::shared_ptr<nav_msgs::Odometry_<std::allocator<void> > const> const&)':
DataRecorderNode.cpp:(.text._ZN19DataRecorderWrapper18stereoOdomCallbackERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEES9_RKNS1_IKNS2_11CameraInfo_IS4_EEEESF_RKNS1_IKN8nav_msgs9Odometry_IS4_EEEE[DataRecorderWrapper::stereoOdomCallback(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::CameraInfo_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::CameraInfo_<std::allocator<void> > const> const&, boost::shared_ptr<nav_msgs::Odometry_<std::allocator<void> > const> const&)]+0x4fb): undefined reference to `rtabmap::SensorData::SensorData(cv::Mat const&, cv::Mat const&, float, float, float, float, rtabmap::Transform const&, rtabmap::Transform const&, float, int)'
CMakeFiles/data_recorder.dir/src/DataRecorderNode.cpp.o: In function `DataRecorderWrapper::stereoCallback(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::CameraInfo_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::CameraInfo_<std::allocator<void> > const> const&)':
DataRecorderNode.cpp:(.text._ZN19DataRecorderWrapper14stereoCallbackERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEES9_RKNS1_IKNS2_11CameraInfo_IS4_EEEESF_[DataRecorderWrapper::stereoCallback(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::CameraInfo_<std::allocator<void> > const> const&, boost::shared_ptr<sensor_msgs::CameraInfo_<std::allocator<void> > const> const&)]+0x486): undefined reference to `rtabmap::SensorData::SensorData(cv::Mat const&, cv::Mat const&, float, float, float, float, rtabmap::Transform const&, rtabmap::Transform const&, float, int)'
/home/ycb/catkin_ws/devel/lib/librtabmap_ros.so: undefined reference to `rtabmap::Odometry::process(rtabmap::SensorData const&, rtabmap::OdometryInfo*)'
collect2: ld returned 1 exit status
make[2]: *** [/home/ycb/catkin_ws/devel/lib/rtabmap_ros/data_recorder] Error 1
make[1]: *** [rtabmap_ros/CMakeFiles/data_recorder.dir/all] Error 2
make: *** [all] Error 2
Invoking "make" failed