Fail to build rtabmap_ros

Posted by PAlfaro on
URL: http://official-rtab-map-forum.206.s1.nabble.com/Fail-to-build-rtabmap-ros-tp605.html

Hello!

I tried to install rtabmap in a ros indigo environment, but when I compile the screen displays the next error messages:

[ 98%] Building CXX object rtabmap_ros/CMakeFiles/rtabmap.dir/src/MapsManager.cpp.o
/home/paola/catkin_ws/src/rtabmap_ros/src/RGBDOdometryNode.cpp: In member function ‘void RGBDOdometry::callback2(const ImageConstPtr&, const ImageConstPtr&, const CameraInfoConstPtr&, const ImageConstPtr&, const ImageConstPtr&, const CameraInfoConstPtr&)’:
/home/paola/catkin_ws/src/rtabmap_ros/src/RGBDOdometryNode.cpp:305:17: error: ‘cvtDepthFromFloat’ is not a member of ‘rtabmap::util2d’
      subDepth = rtabmap::util2d::cvtDepthFromFloat(subDepth);
                 ^
/home/paola/catkin_ws/src/rtabmap_ros/src/RGBDOdometryNode.cpp:305:17: note: suggested alternative:
In file included from /home/paola/catkin_ws/src/rtabmap_ros/src/RGBDOdometryNode.cpp:45:0:
/opt/ros/indigo/lib/x86_64-linux-gnu/rtabmap-0.10/../../../include/rtabmap-0.10/rtabmap/core/util3d.h:130:21: note:   ‘rtabmap::util3d::cvtDepthFromFloat’
 cv::Mat RTABMAP_EXP cvtDepthFromFloat(const cv::Mat & depth32F);
                     ^
make[2]: *** [rtabmap_ros/CMakeFiles/rgbd_odometry.dir/src/RGBDOdometryNode.cpp.o] Error 1
make[1]: *** [rtabmap_ros/CMakeFiles/rgbd_odometry.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
/home/paola/catkin_ws/src/rtabmap_ros/src/GuiWrapper.cpp: In member function ‘void GuiWrapper::commonDepthCallback(const OdometryConstPtr&, const std::vector<boost::shared_ptr<const sensor_msgs::Image_<std::allocator<void> > > >&, const std::vector<boost::shared_ptr<const sensor_msgs::Image_<std::allocator<void> > > >&, const std::vector<boost::shared_ptr<const sensor_msgs::CameraInfo_<std::allocator<void> > > >&, const LaserScanConstPtr&, const OdomInfoConstPtr&)’:
/home/paola/catkin_ws/src/rtabmap_ros/src/GuiWrapper.cpp:584:17: error: ‘cvtDepthFromFloat’ is not a member of ‘rtabmap::util2d’
      subDepth = util2d::cvtDepthFromFloat(subDepth);
                 ^
/home/paola/catkin_ws/src/rtabmap_ros/src/GuiWrapper.cpp:584:17: note: suggested alternative:
In file included from /home/paola/catkin_ws/src/rtabmap_ros/src/GuiWrapper.cpp:51:0:
/opt/ros/indigo/lib/x86_64-linux-gnu/rtabmap-0.10/../../../include/rtabmap-0.10/rtabmap/core/util3d.h:130:21: note:   ‘rtabmap::util3d::cvtDepthFromFloat’
 cv::Mat RTABMAP_EXP cvtDepthFromFloat(const cv::Mat & depth32F);
                     ^
/home/paola/catkin_ws/src/rtabmap_ros/src/CoreWrapper.cpp: In member function ‘void CoreWrapper::commonDepthCallback(const string&, const std::vector<boost::shared_ptr<const sensor_msgs::Image_<std::allocator<void> > > >&, const std::vector<boost::shared_ptr<const sensor_msgs::Image_<std::allocator<void> > > >&, const std::vector<boost::shared_ptr<const sensor_msgs::CameraInfo_<std::allocator<void> > > >&, const LaserScanConstPtr&)’:
/home/paola/catkin_ws/src/rtabmap_ros/src/CoreWrapper.cpp:818:15: error: ‘cvtDepthFromFloat’ is not a member of ‘rtabmap::util2d’
    subDepth = util2d::cvtDepthFromFloat(subDepth);
               ^
/home/paola/catkin_ws/src/rtabmap_ros/src/CoreWrapper.cpp:818:15: note: suggested alternative:
In file included from /home/paola/catkin_ws/src/rtabmap_ros/src/CoreWrapper.cpp:49:0:
/opt/ros/indigo/lib/x86_64-linux-gnu/rtabmap-0.10/../../../include/rtabmap-0.10/rtabmap/core/util3d.h:130:21: note:   ‘rtabmap::util3d::cvtDepthFromFloat’
 cv::Mat RTABMAP_EXP cvtDepthFromFloat(const cv::Mat & depth32F);
                     ^
/home/paola/catkin_ws/src/rtabmap_ros/src/MapsManager.cpp: In member function ‘std::map<int, rtabmap::Transform> MapsManager::updateMapCaches(const std::map<int, rtabmap::Transform>&, const rtabmap::Memory*, bool, bool, bool, const std::map<int, rtabmap::Signature>&)’:
/home/paola/catkin_ws/src/rtabmap_ros/src/MapsManager.cpp:281:104: error: too many arguments to function ‘void rtabmap::util3d::occupancy2DFromLaserScan(const cv::Mat&, cv::Mat&, cv::Mat&, float)’
        util3d::occupancy2DFromLaserScan(scan, ground, obstacles, gridCellSize_, gridUnknownSpaceFilled_);
                                                                                                        ^
In file included from /home/paola/catkin_ws/src/rtabmap_ros/src/MapsManager.cpp:14:0:
/opt/ros/indigo/lib/x86_64-linux-gnu/rtabmap-0.10/../../../include/rtabmap-0.10/rtabmap/core/util3d_mapping.h:46:18: note: declared here
 void RTABMAP_EXP occupancy2DFromLaserScan(
                  ^
make[2]: *** [rtabmap_ros/CMakeFiles/rtabmap.dir/src/CoreWrapper.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [rtabmap_ros/CMakeFiles/rtabmap.dir/src/MapsManager.cpp.o] Error 1
make[1]: *** [rtabmap_ros/CMakeFiles/rtabmap.dir/all] Error 2
make[2]: *** [rtabmap_ros/CMakeFiles/rtabmapviz.dir/src/GuiWrapper.cpp.o] Error 1
make[1]: *** [rtabmap_ros/CMakeFiles/rtabmapviz.dir/all] Error 2
make: *** [all] Error 2
Invoking "make -j4 -l4" failed
paola@robot:~/catkin_ws$

I didn't understand if I am missing something.

Thank you.