dvo_slam icon indicating copy to clipboard operation
dvo_slam copied to clipboard

error while building DVO SLAM

Open mariusschweizer1 opened this issue 8 years ago • 2 comments

Hi I've tried to compile the TUM DVO package according to the instructions above, but the last step "catkin_make" of dvo package doesn't work.

I'm working with the "Festo Robotino 3" and use Ubuntu 16.04, ROS Kinetic, RGB-D Kinect ONE. When i try to compile this errors occur. It seems to be a problem with sophus inclulde files but i'm new with linux/ros. I hope some one can help me.

robotino@MKRoboLab:~$ cd robotino_ws/ robotino@MKRoboLab:~/robotino_ws$ catkin_make -DCMAKE_BUILD_TYPE=Release Base path: /home/robotino/robotino_ws Source space: /home/robotino/robotino_ws/src Build space: /home/robotino/robotino_ws/build Devel space: /home/robotino/robotino_ws/devel Install space: /home/robotino/robotino_ws/install

Running command: "make cmake_check_build_system" in "/home/robotino/robotino_ws/build"

Running command: "make -j4 -l4" in "/home/robotino/robotino_ws/build"

[ 0%] Built target _robotino_msgs_generate_messages_check_deps_MotorReadings [ 0%] Built target _robotino_msgs_generate_messages_check_deps_ResetOdometry [ 0%] Built target _robotino_msgs_generate_messages_check_deps_PowerReadings [ 0%] Built target _robotino_msgs_generate_messages_check_deps_SetEncoderPosition [ 0%] Built target std_msgs_generate_messages_py [ 0%] Built target geometry_msgs_generate_messages_py [ 0%] Built target _robotino_msgs_generate_messages_check_deps_SetBHAPressures [ 0%] Built target _robotino_msgs_generate_messages_check_deps_GrapplerReadings [ 0%] Built target _robotino_msgs_generate_messages_check_deps_EncoderReadings [ 0%] Built target _robotino_msgs_generate_messages_check_deps_SetGrapplerAxis [ 0%] Built target _robotino_msgs_generate_messages_check_deps_GripperState [ 0%] Built target _robotino_msgs_generate_messages_check_deps_AnalogReadings [ 0%] Built target _robotino_msgs_generate_messages_check_deps_DigitalReadings [ 0%] Built target _robotino_msgs_generate_messages_check_deps_NorthStarReadings [ 0%] Built target _robotino_msgs_generate_messages_check_deps_SetGrapplerAxes [ 0%] Built target geometry_msgs_generate_messages_lisp [ 0%] Built target _robotino_msgs_generate_messages_check_deps_SetGripperState [ 0%] Built target _robotino_msgs_generate_messages_check_deps_BHAReadings [ 0%] Built target std_msgs_generate_messages_lisp [ 0%] Built target std_msgs_generate_messages_eus [ 0%] Built target geometry_msgs_generate_messages_eus [ 0%] Built target std_msgs_generate_messages_cpp [ 0%] Built target geometry_msgs_generate_messages_cpp [ 0%] Built target std_msgs_generate_messages_nodejs [ 0%] Built target geometry_msgs_generate_messages_nodejs [ 4%] Built target robotino_laserrangefinder_node [ 4%] Built target robotino_camera_node [ 5%] Built target kinect2_registration [ 5%] Built target actionlib_msgs_generate_messages_py [ 5%] Building CXX object dvo_slam/dvo_core/CMakeFiles/dvo_core.dir/src/dense_tracking.cpp.o [ 5%] Built target _robotino_local_move_generate_messages_check_deps_LocalMoveActionGoal [ 5%] Built target _robotino_local_move_generate_messages_check_deps_LocalMoveFeedback [ 5%] Built target _robotino_local_move_generate_messages_check_deps_LocalMoveGoal [ 5%] Built target _robotino_local_move_generate_messages_check_deps_LocalMoveActionResult [ 5%] Built target _robotino_local_move_generate_messages_check_deps_LocalMoveResult [ 5%] Built target actionlib_msgs_generate_messages_cpp [ 5%] Built target _robotino_local_move_generate_messages_check_deps_LocalMoveActionFeedback [ 5%] Built target actionlib_msgs_generate_messages_eus [ 5%] Built target actionlib_msgs_generate_messages_lisp [ 5%] Built target _robotino_local_move_generate_messages_check_deps_LocalMoveAction [ 5%] Built target actionlib_msgs_generate_messages_nodejs [ 5%] Built target dvo_ros_gencfg [ 6%] Built target joystick_teleop_node [ 7%] Built target dvo_slam_gencfg [ 15%] Built target robotino_msgs_generate_messages_py [ 15%] Built target RobotinoLocalPlanner [ 15%] Built target _dvo_slam_generate_messages_check_deps_PoseStampedArray [ 21%] Built target robotino_msgs_generate_messages_lisp [ 28%] Built target robotino_msgs_generate_messages_eus [ 34%] Built target robotino_msgs_generate_messages_cpp [ 40%] Built target robotino_msgs_generate_messages_nodejs [ 41%] Built target kinect2_bridge [ 42%] Built target kinect2_bridge_nodelet [ 43%] Built target kinect2_calibration [ 45%] Built target robotino_odometry_node [ 46%] Built target kinect2_viewer [ 55%] Built target robotino_node [ 58%] Built target robotino_local_move_generate_messages_py [ 61%] Built target robotino_local_move_generate_messages_cpp [ 64%] Built target robotino_local_move_generate_messages_eus [ 67%] Built target robotino_local_move_generate_messages_lisp [ 70%] Built target robotino_local_move_generate_messages_nodejs [ 72%] Built target robotino_local_move_server_node [ 74%] Built target robotino_local_move_client_node [ 76%] Built target robotino_safety_node [ 77%] Built target keyboard_teleop_node [ 78%] Built target dvo_slam_generate_messages_eus [ 79%] Built target dvo_slam_generate_messages_py [ 79%] Built target dvo_slam_generate_messages_cpp [ 79%] Built target dvo_slam_generate_messages_nodejs [ 80%] Built target dvo_slam_generate_messages_lisp [ 80%] Built target robotino_local_move_generate_messages [ 80%] Built target robotino_msgs_generate_messages [ 80%] Built target dvo_slam_generate_messages In file included from /usr/local/include/sophus/sophus.hpp:28:0, from /usr/local/include/sophus/so3.hpp:29, from /usr/local/include/sophus/se3.hpp:27, from /home/robotino/robotino_ws/src/dvo_slam/dvo_core/src/dense_tracking.cpp:27: /usr/local/include/sophus/ensure.hpp:68:10: error: expected type-specifier before ‘decltype’ -> decltype(std::declvalstd::stringstream&() << std::declval<TT>(), ^ /usr/local/include/sophus/ensure.hpp:68:10: error: expected initializer before ‘decltype’ /usr/local/include/sophus/ensure.hpp:72:33: error: ‘false_type’ in namespace ‘std’ does not name a type static auto test(...) -> std::false_type; ^ /usr/local/include/sophus/ensure.hpp:72:33: error: conflicting specifiers in declaration of ‘test’ /usr/local/include/sophus/ensure.hpp:75:38: error: ‘test’ was not declared in this scope static const bool value = decltype(test<T>(0))::value; ^ /usr/local/include/sophus/ensure.hpp:75:44: error: expected primary-expression before ‘>’ token static const bool value = decltype(test<T>(0))::value; ^ /usr/local/include/sophus/ensure.hpp:75:48: error: a function call cannot appear in a constant-expression static const bool value = decltype(test<T>(0))::value; ^ /usr/local/include/sophus/ensure.hpp:75:48: error: expected ‘;’ at end of member declaration /usr/local/include/sophus/ensure.hpp:75:51: error: using-declaration for non-member at class scope static const bool value = decltype(test<T>(0))::value; ^ /usr/local/include/sophus/ensure.hpp:165:61: error: expected ‘,’ or ‘...’ before ‘&&’ token const char* description, Args&&... args) { ^ /usr/local/include/sophus/ensure.hpp:165:71: error: parameter packs not expanded with ‘...’: const char* description, Args&&... args) { ^ /usr/local/include/sophus/ensure.hpp:165:71: note: ‘Args’ /usr/local/include/sophus/ensure.hpp: In function ‘void Sophus::defaultEnsure(const char*, const char*, int, const char*, )’: /usr/local/include/sophus/ensure.hpp:171:51: error: ‘forward’ is not a member of ‘std’ std::cout << details::FormatString(description, std::forward<Args>(args)...) ^ /usr/local/include/sophus/ensure.hpp:171:68: error: expected primary-expression before ‘>’ token std::cout << details::FormatString(description, std::forward<Args>(args)...) ^ /usr/local/include/sophus/ensure.hpp:171:70: error: ‘args’ was not declared in this scope std::cout << details::FormatString(description, std::forward<Args>(args)...) ^ In file included from /usr/local/include/sophus/se3.hpp:27:0, from /home/robotino/robotino_ws/src/dvo_slam/dvo_core/src/dense_tracking.cpp:27: /usr/local/include/sophus/so3.hpp: At global scope: /usr/local/include/sophus/so3.hpp:56:49: error: template argument 2 is invalid struct traits<Sophus::SO3Group<_Scalar, _Options>> { ^ /usr/local/include/sophus/so3.hpp:56:23: error: template argument 1 is invalid struct traits<Sophus::SO3Group<_Scalar, _Options>> { ^ /usr/local/include/sophus/so3.hpp:63:48: error: template argument 2 is invalid : traits<Sophus::SO3Group<_Scalar, _Options>> { ^ /usr/local/include/sophus/so3.hpp:62:15: error: template argument 1 is invalid struct traits<Map<Sophus::SO3Group<_Scalar>, _Options>> ^ /usr/local/include/sophus/so3.hpp:70:54: error: template argument 2 is invalid : traits<const Sophus::SO3Group<Scalar, Options>> { ^ /usr/local/include/sophus/so3.hpp:69:15: error: template argument 1 is invalid struct traits<Map<const Sophus::SO3Group<Scalar>, Options>> ^ /usr/local/include/sophus/so3.hpp:92:9: error: expected nested-name-specifier before ‘Scalar’ using Scalar = typename Eigen::internal::traits<Derived>::Scalar; ^ /usr/local/include/sophus/so3.hpp:94:9: error: expected nested-name-specifier before ‘QuaternionReference’ using QuaternionReference = ^ /usr/local/include/sophus/so3.hpp:97:9: error: expected nested-name-specifier before ‘ConstQuaternionReference’ using ConstQuaternionReference = ^ /usr/local/include/sophus/so3.hpp:109:25: error: ‘Scalar’ was not declared in this scope typedef Eigen::Matrix<Scalar, N, N> Transformation; ^ /usr/local/include/sophus/so3.hpp:109:25: note: suggested alternative: In file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0, from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48, from /home/robotino/robotino_ws/src/dvo_slam/dvo_core/include/dvo/dense_tracking.h:24, from /home/robotino/robotino_ws/src/dvo_slam/dvo_core/src/dense_tracking.cpp:23: /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note: ‘cv::Scalar’ typedef Scalar Scalar; ^ In file included from /usr/local/include/sophus/se3.hpp:27:0, from /home/robotino/robotino_ws/src/dvo_slam/dvo_core/src/dense_tracking.cpp:27: /usr/local/include/sophus/so3.hpp:109:37: error: template argument 1 is invalid typedef Eigen::Matrix<Scalar, N, N> Transformation; ^ /usr/local/include/sophus/so3.hpp:111:25: error: ‘Scalar’ was not declared in this scope typedef Eigen::Matrix<Scalar, 3, 1> Point; ^ /usr/local/include/sophus/so3.hpp:111:25: note: suggested alternative: In file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0, from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48, from /home/robotino/robotino_ws/src/dvo_slam/dvo_core/include/dvo/dense_tracking.h:24, from /home/robotino/robotino_ws/src/dvo_slam/dvo_core/src/dense_tracking.cpp:23: /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note: ‘cv::Scalar’ typedef Scalar Scalar; ^ In file included from /usr/local/include/sophus/se3.hpp:27:0, from /home/robotino/robotino_ws/src/dvo_slam/dvo_core/src/dense_tracking.cpp:27: /usr/local/include/sophus/so3.hpp:111:37: error: template argument 1 is invalid typedef Eigen::Matrix<Scalar, 3, 1> Point; ^ /usr/local/include/sophus/so3.hpp:113:25: error: ‘Scalar’ was not declared in this scope typedef Eigen::Matrix<Scalar, DoF, 1> Tangent; ^ /usr/local/include/sophus/so3.hpp:113:25: note: suggested alternative: In file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0, from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48, from /home/robotino/robotino_ws/src/dvo_slam/dvo_core/include/dvo/dense_tracking.h:24, from /home/robotino/robotino_ws/src/dvo_slam/dvo_core/src/dense_tracking.cpp:23: /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note: ‘cv::Scalar’ typedef Scalar Scalar; ^ In file included from /usr/local/include/sophus/se3.hpp:27:0, from /home/robotino/robotino_ws/src/dvo_slam/dvo_core/src/dense_tracking.cpp:27: /usr/local/include/sophus/so3.hpp:113:39: error: template argument 1 is invalid typedef Eigen::Matrix<Scalar, DoF, 1> Tangent; ^ /usr/local/include/sophus/so3.hpp:115:25: error: ‘Scalar’ was not declared in this scope typedef Eigen::Matrix<Scalar, DoF, DoF> Adjoint; ^ /usr/local/include/sophus/so3.hpp:115:25: note: suggested alternative: In file included from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core.hpp:58:0, from /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/opencv.hpp:48, from /home/robotino/robotino_ws/src/dvo_slam/dvo_core/include/dvo/dense_tracking.h:24, from /home/robotino/robotino_ws/src/dvo_slam/dvo_core/src/dense_tracking.cpp:23: /opt/ros/kinetic/include/opencv-3.1.0-dev/opencv2/core/types.hpp:597:25: note: ‘cv::Scalar’ typedef Scalar Scalar;

mariusschweizer1 avatar Dec 09 '16 10:12 mariusschweizer1

I'm not so sure what happens, but it seems Sophus's master branch is updated recently. One possibility is to use an earlier commit of Sophus, e.g., b474f05 back in May 2016:

git clone https://github.com/strasdat/Sophus.git
git checkout b474f05 
cd Sophus
mkdir build
cd build
cmake ..
make
sudo make install 

and then recompile DVO SLAM.

songuke avatar Dec 10 '16 15:12 songuke

I also encountered this problem, how can I solve it?

ttwang0303 avatar Aug 12 '18 02:08 ttwang0303