rosmake lsd_slam在建设过程中失败了

时间:2016-04-01 13:32:13

标签: ubuntu c++ cmake

我正在努力建立lsd-slam。使用Ubuntu 14.04和ROS indigo。在最后一步,我得到了这个:

[rosmake-1] Starting >>> lsd_slam_core [ make ]                                                                                                        
[ rosmake ] Last 40 linesd_slam_core: 18.0 sec ]                                                                            [ 1 Active 41/42 Complete ]
{-------------------------------------------------------------------------------
  /opt/ros/indigo/include/sophus/sim3.hpp: In instantiation of ‘void Sophus::Sim3GroupBase<Derived>::setScale(const Scalar&) const [with Derived = Sophus::Sim3Group<double>; Sophus::Sim3GroupBase<Derived>::Scalar = double]’:
  /home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/src/util/SophusUtil.h:56:23:   required from here
  /opt/ros/indigo/include/sophus/sim3.hpp:339:5: error: passing ‘const RxSO3Type {aka const Sophus::RxSO3Group<double>}’ as ‘this’ argument of ‘void Sophus::RxSO3GroupBase<Derived>::setScale(const Scalar&) [with Derived = Sophus::RxSO3Group<double>; Sophus::RxSO3GroupBase<Derived>::Scalar = double]’ discards qualifiers [-fpermissive]
       rxso3().setScale(scale);
       ^
  In file included from /home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/src/util/SophusUtil.h:23:0,
                   from /home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/src/DataStructures/Frame.h:22,
                   from /home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/src/DataStructures/FrameMemory.cpp:22:
  /opt/ros/indigo/include/sophus/sim3.hpp: In instantiation of ‘void Sophus::Sim3GroupBase<Derived>::setScale(const Scalar&) const [with Derived = Sophus::Sim3Group<double>; Sophus::Sim3GroupBase<Derived>::Scalar = double]’:
  /home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/src/util/SophusUtil.h:56:23:   required from here
  /opt/ros/indigo/include/sophus/sim3.hpp:339:5: error: passing ‘const RxSO3Type {aka const Sophus::RxSO3Group<double>}’ as ‘this’ argument of ‘void Sophus::RxSO3GroupBase<Derived>::setScale(const Scalar&) [with Derived = Sophus::RxSO3Group<double>; Sophus::RxSO3GroupBase<Derived>::Scalar = double]’ discards qualifiers [-fpermissive]
       rxso3().setScale(scale);
       ^
  In file included from /home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/src/util/SophusUtil.h:23:0,
                   from /home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/src/DataStructures/Frame.h:22,
                   from /home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/src/DataStructures/Frame.cpp:21:
  /opt/ros/indigo/include/sophus/sim3.hpp: In instantiation of ‘void Sophus::Sim3GroupBase<Derived>::setScale(const Scalar&) const [with Derived = Sophus::Sim3Group<double>; Sophus::Sim3GroupBase<Derived>::Scalar = double]’:
  /home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/src/util/SophusUtil.h:56:23:   required from here
  /opt/ros/indigo/include/sophus/sim3.hpp:339:5: error: passing ‘const RxSO3Type {aka const Sophus::RxSO3Group<double>}’ as ‘this’ argument of ‘void Sophus::RxSO3GroupBase<Derived>::setScale(const Scalar&) [with Derived = Sophus::RxSO3Group<double>; Sophus::RxSO3GroupBase<Derived>::Scalar = double]’ discards qualifiers [-fpermissive]
       rxso3().setScale(scale);
       ^
  In file included from /home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/src/util/SophusUtil.h:23:0,
                   from /home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/src/SlamSystem.h:31,
                   from /home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/src/SlamSystem.cpp:21:
  /opt/ros/indigo/include/sophus/sim3.hpp: In instantiation of ‘void Sophus::Sim3GroupBase<Derived>::setScale(const Scalar&) const [with Derived = Sophus::Sim3Group<double>; Sophus::Sim3GroupBase<Derived>::Scalar = double]’:
  /home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/src/util/SophusUtil.h:56:23:   required from here
  /opt/ros/indigo/include/sophus/sim3.hpp:339:5: error: passing ‘const RxSO3Type {aka const Sophus::RxSO3Group<double>}’ as ‘this’ argument of ‘void Sophus::RxSO3GroupBase<Derived>::setScale(const Scalar&) [with Derived = Sophus::RxSO3Group<double>; Sophus::RxSO3GroupBase<Derived>::Scalar = double]’ discards qualifiers [-fpermissive]
       rxso3().setScale(scale);
       ^
  make[3]: *** [CMakeFiles/lsdslam.dir/src/DataStructures/FramePoseStruct.cpp.o] Error 1
  make[3]: *** Waiting for unfinished jobs....
  make[3]: *** [CMakeFiles/lsdslam.dir/src/DataStructures/FrameMemory.cpp.o] Error 1
  make[3]: *** [CMakeFiles/lsdslam.dir/src/DataStructures/Frame.cpp.o] Error 1
  make[3]: *** [CMakeFiles/lsdslam.dir/src/SlamSystem.cpp.o] Error 1
  make[3]: Leaving directory `/home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/build'
  make[2]: *** [CMakeFiles/lsdslam.dir/all] Error 2
  make[2]: Leaving directory `/home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/build'
  make[1]: *** [all] Error 2
  make[1]: Leaving directory `/home/ram/programming/ROS/rosbuild_ws/package_dir/lsd_slam/lsd_slam_core/build'
-------------------------------------------------------------------------------}
[ rosmake ] Output from build of package lsd_slam_core written to:
[ rosmake ]    /home/ram/.ros/rosmake/rosmake_output-20160401-150212/lsd_slam_core/build_output.log
[rosmake-1] Finished <<< lsd_slam_core [FAIL] [ 18.04 seconds ]                                                                                        
[ rosmake ] Halting due to failure in package lsd_slam_core. 
[ rosmake ] Waiting for other threads to complete.                                       
[ rosmake ] Results:                                                                                                                                   
[ rosmake ] Built 42 packages with 1 failures.                                                                                                         
[ rosmake ] Summary output to directory                                                                                                                
[ rosmake ] /home/ram/.ros/rosmake/rosmake_output-20160401-150212

任何人都可以解释编译器想要什么以及如何解决这个问题吗?

感谢您的时间。

1 个答案:

答案 0 :(得分:-1)

我设法通过使用catkin而不是rosmake来解决这个问题。以下链接提供了分步说明:

http://visbot.blogspot.com/2014/11/tutorial-building-of-lsd-slam-on-ros.html