ZJU-FAST-Lab / ego-planner

GNU General Public License v3.0
1.41k stars 281 forks source link

catkin_make error #11

Closed shuaiwang888 closed 4 years ago

shuaiwang888 commented 4 years ago

Hello, I encountered some problems in the compilation process, can you help me to have a look, thank you!

In file included from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/src/polynomial_traj.cpp:2:0: /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/include/traj_utils/polynomial_traj.h: In member function ‘double PolynomialTraj::getJerk()’: /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/include/traj_utils/polynomial_traj.h:237:26: error: no match for ‘operator=’ (operand types are ‘Eigen::internal::enable_if<true, Eigen::IndexedView<Eigen::Matrix<double, -1, -1>, double, double> >::type {aka Eigen::IndexedView<Eigen::Matrix<double, -1, -1>, double, double>}’ and ‘double’) mat_jerk(i, j) = ^ In file included from /usr/local/include/eigen3/Eigen/Core:19:0, from /usr/local/include/eigen3/Eigen/Dense:1, from /usr/local/include/eigen3/Eigen/Eigen:1, from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/include/traj_utils/polynomial_traj.h:4, from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/src/polynomial_traj.cpp:2: /usr/local/include/eigen3/Eigen/src/Core/IndexedView.h:113:3: note: candidate: Eigen::IndexedView<XprType, RowIndices, ColIndices>& Eigen::IndexedView<XprType, RowIndices, ColIndices>::operator=(const Eigen::IndexedView<XprType, RowIndices, ColIndices>&) [with XprType = Eigen::Matrix<double, -1, -1>; RowIndices = double; ColIndices = double] EIGEN_INHERIT_ASSIGNMENT_OPERATORS(IndexedView) ^ /usr/local/include/eigen3/Eigen/src/Core/IndexedView.h:113:3: note: no known conversion for argument 1 from ‘double’ to ‘const Eigen::IndexedView<Eigen::Matrix<double, -1, -1>, double, double>&’ In file included from /usr/local/include/eigen3/Eigen/Core:256:0, from /usr/local/include/eigen3/Eigen/Dense:1, from /usr/local/include/eigen3/Eigen/Eigen:1, from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/include/traj_utils/polynomial_traj.h:4, from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/src/polynomial_traj.cpp:2: /usr/local/include/eigen3/Eigen/src/Core/MatrixBase.h:154:14: note: candidate: template Derived& Eigen::MatrixBase::operator=(const Eigen::ReturnByValue&) [with OtherDerived = OtherDerived; Derived = Eigen::IndexedView<Eigen::Matrix<double, -1, -1>, double, double>] Derived& operator=(const ReturnByValue& other); ^ /usr/local/include/eigen3/Eigen/src/Core/MatrixBase.h:154:14: note: template argument deduction/substitution failed: In file included from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/src/polynomial_traj.cpp:2:0: /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/include/traj_utils/polynomial_traj.h:237:26: note: mismatched types ‘const Eigen::ReturnByValue’ and ‘double’ mat_jerk(i, j) = ^ In file included from /usr/local/include/eigen3/Eigen/Core:256:0, from /usr/local/include/eigen3/Eigen/Dense:1, from /usr/local/include/eigen3/Eigen/Eigen:1, from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/include/traj_utils/polynomial_traj.h:4, from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/src/polynomial_traj.cpp:2: /usr/local/include/eigen3/Eigen/src/Core/MatrixBase.h:150:14: note: candidate: template Derived& Eigen::MatrixBase::operator=(const Eigen::EigenBase&) [with OtherDerived = OtherDerived; Derived = Eigen::IndexedView<Eigen::Matrix<double, -1, -1>, double, double>] Derived& operator=(const EigenBase& other); ^ /usr/local/include/eigen3/Eigen/src/Core/MatrixBase.h:150:14: note: template argument deduction/substitution failed: In file included from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/src/polynomial_traj.cpp:2:0: /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/include/traj_utils/polynomial_traj.h:237:26: note: mismatched types ‘const Eigen::EigenBase’ and ‘double’ mat_jerk(i, j) = ^ In file included from /usr/local/include/eigen3/Eigen/Core:256:0, from /usr/local/include/eigen3/Eigen/Dense:1, from /usr/local/include/eigen3/Eigen/Eigen:1, from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/include/traj_utils/polynomial_traj.h:4, from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/src/polynomial_traj.cpp:2: /usr/local/include/eigen3/Eigen/src/Core/MatrixBase.h:146:14: note: candidate: template Derived& Eigen::MatrixBase::operator=(const Eigen::DenseBase&) [with OtherDerived = OtherDerived; Derived = Eigen::IndexedView<Eigen::Matrix<double, -1, -1>, double, double>] Derived& operator=(const DenseBase& other); ^ /usr/local/include/eigen3/Eigen/src/Core/MatrixBase.h:146:14: note: template argument deduction/substitution failed: In file included from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/src/polynomial_traj.cpp:2:0: /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/include/traj_utils/polynomial_traj.h:237:26: note: mismatched types ‘const Eigen::DenseBase’ and ‘double’ mat_jerk(i, j) = ^ In file included from /usr/local/include/eigen3/Eigen/Core:265:0, from /usr/local/include/eigen3/Eigen/Dense:1, from /usr/local/include/eigen3/Eigen/Eigen:1, from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/include/traj_utils/polynomial_traj.h:4, from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/src/polynomial_traj.cpp:2: /usr/local/include/eigen3/Eigen/src/Core/Assign.h:55:30: note: candidate: Derived& Eigen::MatrixBase::operator=(const Eigen::MatrixBase&) [with Derived = Eigen::IndexedView<Eigen::Matrix<double, -1, -1>, double, double>] EIGEN_STRONG_INLINE Derived& MatrixBase::operator=(const MatrixBase& other) ^ /usr/local/include/eigen3/Eigen/src/Core/Assign.h:55:30: note: no known conversion for argument 1 from ‘double’ to ‘const Eigen::MatrixBase<Eigen::IndexedView<Eigen::Matrix<double, -1, -1>, double, double> >&’ In file included from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/include/traj_utils/planning_visualization.h:8:0, from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/src/planning_visualization.cpp:1: /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/include/traj_utils/polynomial_traj.h: In member function ‘double PolynomialTraj::getJerk()’: /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/include/traj_utils/polynomial_traj.h:237:26: error: no match for ‘operator=’ (operand types are ‘Eigen::internal::enable_if<true, Eigen::IndexedView<Eigen::Matrix<double, -1, -1>, double, double> >::type {aka Eigen::IndexedView<Eigen::Matrix<double, -1, -1>, double, double>}’ and ‘double’) mat_jerk(i, j) = ^ In file included from /usr/local/include/eigen3/Eigen/Core:19:0, from /usr/local/include/eigen3/Eigen/Dense:1, from /usr/local/include/eigen3/Eigen/Eigen:1, from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/include/traj_utils/planning_visualization.h:4, from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/src/planning_visualization.cpp:1: /usr/local/include/eigen3/Eigen/src/Core/IndexedView.h:113:3: note: candidate: Eigen::IndexedView<XprType, RowIndices, ColIndices>& Eigen::IndexedView<XprType, RowIndices, ColIndices>::operator=(const Eigen::IndexedView<XprType, RowIndices, ColIndices>&) [with XprType = Eigen::Matrix<double, -1, -1>; RowIndices = double; ColIndices = double] EIGEN_INHERIT_ASSIGNMENT_OPERATORS(IndexedView) ^ /usr/local/include/eigen3/Eigen/src/Core/IndexedView.h:113:3: note: no known conversion for argument 1 from ‘double’ to ‘const Eigen::IndexedView<Eigen::Matrix<double, -1, -1>, double, double>&’ In file included from /usr/local/include/eigen3/Eigen/Core:256:0, from /usr/local/include/eigen3/Eigen/Dense:1, from /usr/local/include/eigen3/Eigen/Eigen:1, from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/include/traj_utils/planning_visualization.h:4, from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/src/planning_visualization.cpp:1: /usr/local/include/eigen3/Eigen/src/Core/MatrixBase.h:154:14: note: candidate: template Derived& Eigen::MatrixBase::operator=(const Eigen::ReturnByValue&) [with OtherDerived = OtherDerived; Derived = Eigen::IndexedView<Eigen::Matrix<double, -1, -1>, double, double>] Derived& operator=(const ReturnByValue& other); ^ /usr/local/include/eigen3/Eigen/src/Core/MatrixBase.h:154:14: note: template argument deduction/substitution failed: In file included from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/include/traj_utils/planning_visualization.h:8:0, from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/src/planning_visualization.cpp:1: /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/include/traj_utils/polynomial_traj.h:237:26: note: mismatched types ‘const Eigen::ReturnByValue’ and ‘double’ mat_jerk(i, j) = ^ In file included from /usr/local/include/eigen3/Eigen/Core:256:0, from /usr/local/include/eigen3/Eigen/Dense:1, from /usr/local/include/eigen3/Eigen/Eigen:1, from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/include/traj_utils/planning_visualization.h:4, from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/src/planning_visualization.cpp:1: /usr/local/include/eigen3/Eigen/src/Core/MatrixBase.h:150:14: note: candidate: template Derived& Eigen::MatrixBase::operator=(const Eigen::EigenBase&) [with OtherDerived = OtherDerived; Derived = Eigen::IndexedView<Eigen::Matrix<double, -1, -1>, double, double>] Derived& operator=(const EigenBase& other); ^ /usr/local/include/eigen3/Eigen/src/Core/MatrixBase.h:150:14: note: template argument deduction/substitution failed: In file included from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/include/traj_utils/planning_visualization.h:8:0, from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/src/planning_visualization.cpp:1: /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/include/traj_utils/polynomial_traj.h:237:26: note: mismatched types ‘const Eigen::EigenBase’ and ‘double’ mat_jerk(i, j) = ^ In file included from /usr/local/include/eigen3/Eigen/Core:256:0, from /usr/local/include/eigen3/Eigen/Dense:1, from /usr/local/include/eigen3/Eigen/Eigen:1, from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/include/traj_utils/planning_visualization.h:4, from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/src/planning_visualization.cpp:1: /usr/local/include/eigen3/Eigen/src/Core/MatrixBase.h:146:14: note: candidate: template Derived& Eigen::MatrixBase::operator=(const Eigen::DenseBase&) [with OtherDerived = OtherDerived; Derived = Eigen::IndexedView<Eigen::Matrix<double, -1, -1>, double, double>] Derived& operator=(const DenseBase& other); ^ /usr/local/include/eigen3/Eigen/src/Core/MatrixBase.h:146:14: note: template argument deduction/substitution failed: In file included from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/include/traj_utils/planning_visualization.h:8:0, from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/src/planning_visualization.cpp:1: /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/include/traj_utils/polynomial_traj.h:237:26: note: mismatched types ‘const Eigen::DenseBase’ and ‘double’ mat_jerk(i, j) = ^ In file included from /usr/local/include/eigen3/Eigen/Core:265:0, from /usr/local/include/eigen3/Eigen/Dense:1, from /usr/local/include/eigen3/Eigen/Eigen:1, from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/include/traj_utils/planning_visualization.h:4, from /home/app/ego-planner_ws/src/ego-planner/src/planner/traj_utils/src/planning_visualization.cpp:1: /usr/local/include/eigen3/Eigen/src/Core/Assign.h:55:30: note: candidate: Derived& Eigen::MatrixBase::operator=(const Eigen::MatrixBase&) [with Derived = Eigen::IndexedView<Eigen::Matrix<double, -1, -1>, double, double>] EIGEN_STRONG_INLINE Derived& MatrixBase::operator=(const MatrixBase& o ^ /usr/local/include/eigen3/Eigen/src/Core/Assign.h:55:30: note: no known conversion for argument 1 from ‘double’ to ‘const Eigen::MatrixBase<Eigen::IndexedView<Eigen::Matrix<double, -1, -1>, double, double> >&’ ego-planner/src/planner/traj_utils/CMakeFiles/traj_utils.dir/build.make:62: recipe for target 'ego-planner/src/planner/traj_utils/CMakeFiles/traj_utils.dir/src/planning_visualization.cpp.o' failed make[2]: [ego-planner/src/planner/traj_utils/CMakeFiles/traj_utils.dir/src/planning_visualization.cpp.o] Error 1 make[2]: 正在等待未完成的任务.... [ 95%] Linking CXX shared library /home/app/ego-planner_ws/devel/lib/librviz_plugins.so [ 95%] Built target rviz_plugins ego-planner/src/planner/traj_utils/CMakeFiles/traj_utils.dir/build.make:86: recipe for target 'ego-planner/src/planner/traj_utils/CMakeFiles/traj_utils.dir/src/polynomial_traj.cpp.o' failed make[2]: [ego-planner/src/planner/traj_utils/CMakeFiles/traj_utils.dir/src/polynomial_traj.cpp.o] Error 1 CMakeFiles/Makefile2:5469: recipe for target 'ego-planner/src/planner/traj_utils/CMakeFiles/traj_utils.dir/all' failed make[1]: [ego-planner/src/planner/traj_utils/CMakeFiles/traj_utils.dir/all] Error 2 Makefile:138: recipe for target 'all' failed make: *** [all] Error 2

bigsuperZZZX commented 4 years ago

It's so weird and I tried to fig it out but failed. It seems that something goes wrong with your Eigen or cpp compiler.

shuaiwang888 commented 4 years ago

Thank you for your answer. I'll try again.

shuaiwang888 commented 4 years ago

It is because I have run lego-loam and sc-lego-loam. There is a conflict between the eigen versions. After I uninstall eigen3, the problem is solved. Thank you for your advice and wish you a happy holiday!