catkin build ssrg-proslam failed
Hello, I tried to follow all the instructions step by step with ubuntu 16.04, ros kinetic. However, I end up with following error, any idea? Thanks!
Errors << srrg_proslam:make /home/cedros/ros/catkin_ws/logs/srrg_proslam/build.make.002.log /home/cedros/ros/catkin_ws/src/srrg_proslam/src/map_optimization/graph_optimizer.cpp: In member function ‘virtual void proslam::GraphOptimizer::configure()’: /home/cedros/ros/catkin_ws/src/srrg_proslam/src/map_optimization/graph_optimizer.cpp:19:52: error: ‘make_unique’ is not a member of ‘g2o’ std::unique_ptr<SlamLinearSolver> linearSolver = g2o::make_unique<SlamLinearSolver>(); ^ /home/cedros/ros/catkin_ws/src/srrg_proslam/src/map_optimization/graph_optimizer.cpp:19:85: error: expected primary-expression before ‘>’ token std::unique_ptr<SlamLinearSolver> linearSolver = g2o::make_unique<SlamLinearSolver>(); ^ /home/cedros/ros/catkin_ws/src/srrg_proslam/src/map_optimization/graph_optimizer.cpp:19:87: error: expected primary-expression before ‘)’ token std::unique_ptr<SlamLinearSolver> linearSolver = g2o::make_unique<SlamLinearSolver>(); ^ /home/cedros/ros/catkin_ws/src/srrg_proslam/src/map_optimization/graph_optimizer.cpp:21:50: error: ‘make_unique’ is not a member of ‘g2o’ std::unique_ptr<SlamBlockSolver> blockSolver = g2o::make_unique<SlamBlockSolver>(std::move(linearSolver)); ^ /home/cedros/ros/catkin_ws/src/srrg_proslam/src/map_optimization/graph_optimizer.cpp:21:82: error: expected primary-expression before ‘>’ token std::unique_ptr<SlamBlockSolver> blockSolver = g2o::make_unique<SlamBlockSolver>(std::move(linearSolver)); ^ /home/cedros/ros/catkin_ws/src/srrg_proslam/src/map_optimization/graph_optimizer.cpp:22:111: error: no matching function for call to ‘g2o::OptimizationAlgorithmLevenberg::OptimizationAlgorithmLevenberg(std::remove_reference<std::unique_ptr<g2o::BlockSolver<g2o::BlockSolverTraits<-1, -1> > >&>::type)’ g2o::OptimizationAlgorithmLevenberg* solver = new g2o::OptimizationAlgorithmLevenberg(std::move(blockSolver)); ^ In file included from /home/cedros/ros/catkin_ws/src/srrg_proslam/src/map_optimization/graph_optimizer.cpp:3:0: /opt/ros/kinetic/include/g2o/core/optimization_algorithm_levenberg.h:45:16: note: candidate: g2o::OptimizationAlgorithmLevenberg::OptimizationAlgorithmLevenberg(g2o::Solver*) explicit OptimizationAlgorithmLevenberg(Solver* solver); ^ /opt/ros/kinetic/include/g2o/core/optimization_algorithm_levenberg.h:45:16: note: no known conversion for argument 1 from ‘std::remove_reference<std::unique_ptr<g2o::BlockSolver<g2o::BlockSolverTraits<-1, -1> > >&>::type {aka std::unique_ptr<g2o::BlockSolver<g2o::BlockSolverTraits<-1, -1> > >}’ to ‘g2o::Solver*’ make[2]: *** [src/map_optimization/CMakeFiles/srrg_proslam_map_optimization_library.dir/graph_optimizer.cpp.o] Error 1 make[1]: *** [src/map_optimization/CMakeFiles/srrg_proslam_map_optimization_library.dir/all] Error 2 make: *** [all] Error 2