gaoxiang12 / ORBSLAM2_with_pointcloud_map

830 stars 346 forks source link

Errors when compiled modified g2o #11

Open Allen-jl opened 7 years ago

Allen-jl commented 7 years ago

I have no idea how to fix this compile error, any suggestions guys?

fjl@fjl-Inspiron-7460:~/ORBSLAM2_with_pointcloud_map/g2o_with_orbslam2/build$ make -j8 [ 0%] Building CXX object g2o/examples/interactive_slam/slam_parser/parser/CMakeFiles/parser_library.dir/flex_scanner.cpp.o [ 1%] Building CXX object g2o/examples/interactive_slam/slam_parser/parser/CMakeFiles/parser_library.dir/slam_context.cpp.o [ 2%] Building CXX object g2o/examples/interactive_slam/slam_parser/parser/CMakeFiles/parser_library.dir/driver.cpp.o [ 2%] Building CXX object g2o/examples/interactive_slam/slam_parser/parser/CMakeFiles/parser_library.dir/bison_parser.cpp.o [ 2%] Building CXX object EXTERNAL/freeglut/CMakeFiles/freeglut_minimal.dir/freeglut_font.cpp.o [ 3%] Building CXX object g2o/solvers/csparse/CMakeFiles/csparse_extension.dir/csparse_helper.cpp.o [ 3%] Building CXX object g2o/stuff/CMakeFiles/opengl_helper.dir/opengl_primitives.cpp.o [ 4%] Building CXX object g2o/stuff/CMakeFiles/stuff.dir/timeutil.cpp.o [ 4%] Building CXX object EXTERNAL/freeglut/CMakeFiles/freeglut_minimal.dir/freeglut_stroke_mono_roman.cpp.o [ 5%] Building CXX object EXTERNAL/freeglut/CMakeFiles/freeglut_minimal.dir/freeglut_stroke_roman.cpp.o [ 5%] Building CXX object g2o/stuff/CMakeFiles/stuff.dir/command_args.cpp.o [ 5%] Linking CXX shared library ../../../lib/libg2o_opengl_helper.so [ 6%] Building CXX object g2o/stuff/CMakeFiles/stuff.dir/sparse_helper.cpp.o [ 6%] Building C object g2o/stuff/CMakeFiles/stuff.dir/os_specific.c.o [ 6%] Built target opengl_helper [ 6%] Building CXX object g2o/stuff/CMakeFiles/stuff.dir/filesys_tools.cpp.o [ 7%] Building CXX object g2o/stuff/CMakeFiles/stuff.dir/string_tools.cpp.o [ 7%] Linking CXX shared library ../../../../lib/libg2o_csparse_extension.so [ 7%] Built target csparse_extension [ 7%] Building CXX object g2o/stuff/CMakeFiles/stuff.dir/property.cpp.o [ 7%] Building CXX object g2o/stuff/CMakeFiles/stuff.dir/sampler.cpp.o [ 7%] Linking CXX shared library ../../../../../../lib/libg2o_parser.so [ 7%] Linking CXX shared library ../../../lib/libg2o_ext_freeglut_minimal.so [ 7%] Built target parser_library [ 7%] Building CXX object g2o/examples/interactive_slam/slam_parser/interface/CMakeFiles/interface_library.dir/parser_interface.cpp.o [ 7%] Built target freeglut_minimal [ 7%] Building CXX object g2o/examples/interactive_slam/slam_parser/interface/CMakeFiles/interface_library.dir/slam_context_interface.cpp.o [ 8%] Building CXX object g2o/stuff/CMakeFiles/stuff.dir/tictoc.cpp.o [ 9%] Linking CXX shared library ../../../../../../lib/libg2o_interface.so [ 9%] Built target interface_library [ 9%] Linking CXX shared library ../../../lib/libg2o_stuff.so [ 9%] Built target stuff [ 10%] Building CXX object g2o/core/CMakeFiles/core.dir/hyper_graph_action.cpp.o [ 11%] Building CXX object g2o/core/CMakeFiles/core.dir/matrix_structure.cpp.o [ 11%] Building CXX object g2o/core/CMakeFiles/core.dir/marginal_covariance_cholesky.cpp.o [ 11%] Building CXX object g2o/core/CMakeFiles/core.dir/hyper_graph.cpp.o [ 11%] Building CXX object g2o/core/CMakeFiles/core.dir/batch_stats.cpp.o [ 12%] Building CXX object g2o/core/CMakeFiles/core.dir/cache.cpp.o [ 12%] Building CXX object g2o/core/CMakeFiles/core.dir/parameter.cpp.o [ 12%] Building CXX object g2o/core/CMakeFiles/core.dir/optimizable_graph.cpp.o [ 13%] Building CXX object g2o/core/CMakeFiles/core.dir/solver.cpp.o [ 13%] Building CXX object g2o/core/CMakeFiles/core.dir/optimization_algorithm_factory.cpp.o [ 13%] Building CXX object g2o/core/CMakeFiles/core.dir/estimate_propagator.cpp.o [ 14%] Building CXX object g2o/core/CMakeFiles/core.dir/factory.cpp.o [ 14%] Building CXX object g2o/core/CMakeFiles/core.dir/sparse_optimizer.cpp.o [ 14%] Building CXX object g2o/core/CMakeFiles/core.dir/hyper_dijkstra.cpp.o [ 15%] Building CXX object g2o/core/CMakeFiles/core.dir/parameter_container.cpp.o [ 15%] Building CXX object g2o/core/CMakeFiles/core.dir/optimization_algorithm.cpp.o [ 15%] Building CXX object g2o/core/CMakeFiles/core.dir/optimization_algorithm_with_hessian.cpp.o [ 16%] Building CXX object g2o/core/CMakeFiles/core.dir/optimization_algorithm_gauss_newton.cpp.o [ 16%] Building CXX object g2o/core/CMakeFiles/core.dir/optimization_algorithm_levenberg.cpp.o [ 16%] Building CXX object g2o/core/CMakeFiles/core.dir/optimization_algorithm_dogleg.cpp.o [ 17%] Building CXX object g2o/core/CMakeFiles/core.dir/sparse_optimizer_terminate_action.cpp.o [ 17%] Building CXX object g2o/core/CMakeFiles/core.dir/jacobian_workspace.cpp.o [ 18%] Building CXX object g2o/core/CMakeFiles/core.dir/robust_kernel.cpp.o [ 18%] Building CXX object g2o/core/CMakeFiles/core.dir/robust_kernel_impl.cpp.o [ 18%] Building CXX object g2o/core/CMakeFiles/core.dir/robust_kernel_factory.cpp.o [ 19%] Linking CXX shared library ../../../lib/libg2o_core.so [ 19%] Built target core [ 19%] Building CXX object g2o/solvers/structure_only/CMakeFiles/solver_structure_only.dir/structure_only.cpp.o [ 19%] Building CXX object g2o/apps/g2o_cli/CMakeFiles/g2o_cli_library.dir/dl_wrapper.cpp.o [ 19%] Building CXX object g2o/apps/g2o_hierarchical/CMakeFiles/g2o_hierarchical_library.dir/edge_labeler.cpp.o [ 19%] Building CXX object g2o/solvers/dense/CMakeFiles/solver_dense.dir/solver_dense.cpp.o [ 20%] Building CXX object g2o/solvers/pcg/CMakeFiles/solver_pcg.dir/solver_pcg.cpp.o [ 20%] Building CXX object g2o/types/slam3d/CMakeFiles/types_slam3d.dir/dquat2mat.cpp.o [ 20%] Building CXX object g2o/solvers/csparse/CMakeFiles/solver_csparse.dir/solver_csparse.cpp.o [ 21%] Building CXX object g2o/types/slam2d/CMakeFiles/types_slam2d.dir/edge_se2.cpp.o [ 21%] Building CXX object g2o/types/slam3d/CMakeFiles/types_slam3d.dir/isometry3d_mappings.cpp.o [ 21%] Building CXX object g2o/apps/g2o_cli/CMakeFiles/g2o_cli_library.dir/output_helper.cpp.o [ 22%] Building CXX object g2o/apps/g2o_cli/CMakeFiles/g2o_cli_library.dir/g2o_common.cpp.o [ 23%] Building CXX object g2o/types/slam3d/CMakeFiles/types_slam3d.dir/isometry3d_gradients.cpp.o [ 23%] Building CXX object g2o/types/slam2d/CMakeFiles/types_slam2d.dir/edge_se2_pointxy_calib.cpp.o [ 23%] Linking CXX shared library ../../../../lib/libg2o_cli.so [ 23%] Built target g2o_cli_library [ 24%] Building CXX object g2o/solvers/cholmod/CMakeFiles/solver_cholmod.dir/solver_cholmod.cpp.o [ 25%] Linking CXX shared library ../../../../lib/libg2o_solver_structure_only.so [ 25%] Built target solver_structure_only [ 25%] Building CXX object g2o/solvers/eigen/CMakeFiles/solver_eigen.dir/solver_eigen.cpp.o [ 26%] Building CXX object g2o/apps/g2o_hierarchical/CMakeFiles/g2o_hierarchical_library.dir/edge_creator.cpp.o [ 26%] Building CXX object g2o/types/slam3d/CMakeFiles/types_slam3d.dir/vertex_se3.cpp.o [ 26%] Building CXX object g2o/apps/g2o_hierarchical/CMakeFiles/g2o_hierarchical_library.dir/star.cpp.o In file included from /usr/include/eigen3/Eigen/Core:297:0, from /usr/include/eigen3/Eigen/SparseCore:11, from /usr/include/eigen3/Eigen/Sparse:26, from /home/fjl/ORBSLAM2_with_pointcloud_map/g2o_with_orbslam2/g2o/solvers/eigen/linear_solver_eigen.h:30, from /home/fjl/ORBSLAM2_with_pointcloud_map/g2o_with_orbslam2/g2o/solvers/eigen/solver_eigen.cpp:17: /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h: In instantiation of ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<int, -1, 1>; Src = Eigen::Matrix<long int, -1, 1, 0, -1, 1>; Func = Eigen::internal::assign_op]’: /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:712:27: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing::value), void>::type) [with Dst = Eigen::Matrix<int, -1, 1>; Src = Eigen::Matrix<long int, -1, 1, 0, -1, 1>; Func = Eigen::internal::assign_op; typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing::value), void>::type = void]’ /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:693:18: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Matrix<int, -1, 1>; Src = Eigen::Matrix<long int, -1, 1, 0, -1, 1>]’ /usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:682:32: required from ‘Derived& Eigen::PlainObjectBase::_set(const Eigen::DenseBase&) [with OtherDerived = Eigen::Matrix<long int, -1, 1, 0, -1, 1>; Derived = Eigen::Matrix<int, -1, 1>]’ /usr/include/eigen3/Eigen/src/Core/Matrix.h:225:24: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::DenseBase&) [with OtherDerived = Eigen::Matrix<long int, -1, 1, 0, -1, 1>; _Scalar = int; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]’ /usr/include/eigen3/Eigen/src/Core/PermutationMatrix.h:367:17: required from ‘Eigen::PermutationMatrix<SizeAtCompileTime, MaxSizeAtCompileTime, IndexType>& Eigen::PermutationMatrix<SizeAtCompileTime, MaxSizeAtCompileTime, IndexType>::operator=(const Eigen::PermutationBase&) [with Other = Eigen::PermutationMatrix<-1, -1, long int>; int SizeAtCompileTime = -1; int MaxSizeAtCompileTime = -1; _StorageIndex = int]’ /home/fjl/ORBSLAM2_with_pointcloud_map/g2o_with_orbslam2/g2o/solvers/eigen/linear_solver_eigen.h:66:18: required from ‘void g2o::LinearSolverEigen::CholeskyDecomposition::analyzePatternWithPermutation(g2o::LinearSolverEigen::SparseMatrix&, const PermutationMatrix&) [with MatrixType = Eigen::Matrix<double, -1, -1>; g2o::LinearSolverEigen::SparseMatrix = Eigen::SparseMatrix<double, 0>; g2o::LinearSolverEigen::PermutationMatrix = Eigen::PermutationMatrix<-1, -1, long int>]’ /home/fjl/ORBSLAM2_with_pointcloud_map/g2o_with_orbslam2/g2o/solvers/eigen/linear_solver_eigen.h:193:9: required from ‘void g2o::LinearSolverEigen::computeSymbolicDecomposition(const g2o::SparseBlockMatrix&) [with MatrixType = Eigen::Matrix<double, -1, -1>]’ /home/fjl/ORBSLAM2_with_pointcloud_map/g2o_with_orbslam2/g2o/solvers/eigen/linear_solver_eigen.h:98:37: required from ‘bool g2o::LinearSolverEigen::solve(const g2o::SparseBlockMatrix&, double, double*) [with MatrixType = Eigen::Matrix<double, -1, -1>]’ /home/fjl/ORBSLAM2_with_pointcloud_map/g2o_with_orbslam2/g2o/solvers/eigen/solver_eigen.cpp:111:1: required from here /usr/include/eigen3/Eigen/src/Core/util/StaticAssert.h:32:40: error: static assertion failed: YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY

define EIGEN_STATIC_ASSERT(X,MSG) static_assert(X,#MSG);

                                    ^

/usr/include/eigen3/Eigen/src/Core/util/XprHelper.h:707:3: note: in expansion of macro ‘EIGEN_STATIC_ASSERT’ EIGEN_STATIC_ASSERT((internal::functor_is_product_like::ret \ ^ /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:745:3: note: in expansion of macro ‘EIGEN_CHECK_BINARY_COMPATIBILIY’ EIGEN_CHECK_BINARY_COMPATIBILIY(Func,typename ActualDstTypeCleaned::Scalar,typename Src::Scalar); ^ [ 26%] Building CXX object g2o/types/slam2d/CMakeFiles/types_slam2d.dir/types_slam2d.cpp.o g2o/solvers/eigen/CMakeFiles/solver_eigen.dir/build.make:62: recipe for target 'g2o/solvers/eigen/CMakeFiles/solver_eigen.dir/solver_eigen.cpp.o' failed make[2]: [g2o/solvers/eigen/CMakeFiles/solver_eigen.dir/solver_eigen.cpp.o] Error 1 CMakeFiles/Makefile2:2058: recipe for target 'g2o/solvers/eigen/CMakeFiles/solver_eigen.dir/all' failed make[1]: [g2o/solvers/eigen/CMakeFiles/solver_eigen.dir/all] Error 2 make[1]: Waiting for unfinished jobs.... [ 27%] Building CXX object g2o/types/slam2d/CMakeFiles/types_slam2d.dir/vertex_point_xy.cpp.o [ 27%] Building CXX object g2o/apps/g2o_hierarchical/CMakeFiles/g2o_hierarchical_library.dir/edge_types_cost_function.cpp.o [ 28%] Building CXX object g2o/apps/g2o_hierarchical/CMakeFiles/g2o_hierarchical_library.dir/backbone_tree_action.cpp.o [ 28%] Building CXX object g2o/apps/g2o_hierarchical/CMakeFiles/g2o_hierarchical_library.dir/simple_star_ops.cpp.o [ 28%] Building CXX object g2o/types/slam2d/CMakeFiles/types_slam2d.dir/edge_se2_pointxy.cpp.o [ 28%] Building CXX object g2o/apps/g2o_hierarchical/CMakeFiles/g2o_hierarchical_library.dir/g2o_hierarchical_test_functions.cpp.o [ 29%] Building CXX object g2o/types/slam3d/CMakeFiles/types_slam3d.dir/parameter_se3_offset.cpp.o [ 30%] Building CXX object g2o/types/slam2d/CMakeFiles/types_slam2d.dir/vertex_se2.cpp.o [ 30%] Building CXX object g2o/types/slam2d/CMakeFiles/types_slam2d.dir/edge_se2_pointxy_bearing.cpp.o [ 30%] Building CXX object g2o/types/slam3d/CMakeFiles/types_slam3d.dir/edge_se3.cpp.o [ 31%] Linking CXX shared library ../../../../lib/libg2o_solver_csparse.so [ 31%] Built target solver_csparse [ 31%] Building CXX object g2o/types/slam3d/CMakeFiles/types_slam3d.dir/edge_se3_offset.cpp.o /home/fjl/ORBSLAM2_with_pointcloud_map/g2o_with_orbslam2/g2o/types/slam2d/edge_se2_pointxy_bearing.cpp: In member function ‘virtual void g2o::EdgeSE2PointXYBearing::initialEstimate(const VertexSet&, g2o::OptimizableGraph::Vertex)’: /home/fjl/ORBSLAM2_with_pointcloud_map/g2o_with_orbslam2/g2o/types/slam2d/edge_se2_pointxy_bearing.cpp:51:52: error: no matching function for call to ‘g2o::SE2::setRotation(Eigen::Rotation2D::Scalar)’ t.setRotation(t.rotation().angle()+_measurement); ^ In file included from /home/fjl/ORBSLAM2_with_pointcloud_map/g2o_with_orbslam2/g2o/types/slam2d/vertex_se2.h:33:0, from /home/fjl/ORBSLAM2_with_pointcloud_map/g2o_with_orbslam2/g2o/types/slam2d/edge_se2_pointxy_bearing.h:31, from /home/fjl/ORBSLAM2_with_pointcloud_map/g2o_with_orbslam2/g2o/types/slam2d/edge_se2_pointxy_bearing.cpp:27: /home/fjl/ORBSLAM2_with_pointcloud_map/g2o_withorbslam2/g2o/types/slam2d/se2.h:59:12: note: candidate: void g2o::SE2::setRotation(const Rotation2Dd&) void setRotation(const Eigen::Rotation2Dd& R) {R=R;} ^ /home/fjl/ORBSLAM2_with_pointcloud_map/g2o_with_orbslam2/g2o/types/slam2d/se2.h:59:12: note: no known conversion for argument 1 from ‘Eigen::Rotation2D::Scalar {aka double}’ to ‘const Rotation2Dd& {aka const Eigen::Rotation2D&}’ [ 32%] Linking CXX shared library ../../../../lib/libg2o_hierarchical.so [ 32%] Built target g2o_hierarchical_library [ 33%] Building CXX object g2o/types/slam3d/CMakeFiles/types_slam3d.dir/vertex_pointxyz.cpp.o [ 34%] Linking CXX shared library ../../../../lib/libg2o_solver_dense.so [ 34%] Built target solver_dense [ 34%] Building CXX object g2o/types/slam3d/CMakeFiles/types_slam3d.dir/parameter_camera.cpp.o g2o/types/slam2d/CMakeFiles/types_slam2d.dir/build.make:206: recipe for target 'g2o/types/slam2d/CMakeFiles/types_slam2d.dir/edge_se2_pointxy_bearing.cpp.o' failed make[2]: ** [g2o/types/slam2d/CMakeFiles/types_slam2d.dir/edge_se2_pointxy_bearing.cpp.o] Error 1 make[2]: Waiting for unfinished jobs.... [ 34%] Building CXX object g2o/types/slam2d/CMakeFiles/types_slam2d.dir/edge_se2_prior.cpp.o [ 34%] Building CXX object g2o/types/slam3d/CMakeFiles/types_slam3d.dir/parameter_stereo_camera.cpp.o [ 34%] Linking CXX shared library ../../../../lib/libg2o_solver_pcg.so [ 34%] Built target solver_pcg [ 35%] Building CXX object g2o/types/slam3d/CMakeFiles/types_slam3d.dir/edge_se3_pointxyz.cpp.o [ 35%] Building CXX object g2o/types/slam3d/CMakeFiles/types_slam3d.dir/edge_se3_pointxyz_disparity.cpp.o [ 35%] Building CXX object g2o/types/slam3d/CMakeFiles/types_slam3d.dir/edge_se3_pointxyz_depth.cpp.o CMakeFiles/Makefile2:1010: recipe for target 'g2o/types/slam2d/CMakeFiles/types_slam2d.dir/all' failed make[1]: [g2o/types/slam2d/CMakeFiles/types_slam2d.dir/all] Error 2 [ 36%] Building CXX object g2o/types/slam3d/CMakeFiles/types_slam3d.dir/edge_se3_prior.cpp.o [ 36%] Linking CXX shared library ../../../../lib/libg2o_solver_cholmod.so [ 36%] Built target solver_cholmod [ 36%] Building CXX object g2o/types/slam3d/CMakeFiles/types_slam3d.dir/edge_se3_lotsofxyz.cpp.o [ 36%] Building CXX object g2o/types/slam3d/CMakeFiles/types_slam3d.dir/edge_pointxyz.cpp.o [ 37%] Building CXX object g2o/types/slam3d/CMakeFiles/types_slam3d.dir/types_slam3d.cpp.o [ 37%] Linking CXX shared library ../../../../lib/libg2o_types_slam3d.so [ 37%] Built target types_slam3d Makefile:127: recipe for target 'all' failed make: [all] Error 2

Andrew-rw commented 6 years ago

Hello, I faced same problem on ubuntu 16.04. Have you solved this issue?

hustchenli commented 3 years ago

Here is the solution.