lrse / sptam

S-PTAM: Stereo Parallel Tracking and Mapping
Other
363 stars 137 forks source link

make error #17

Closed cumtchenchang closed 6 years ago

cumtchenchang commented 6 years ago

When i make the sptam, I encoutered an error. I reinstall eigen several time, the problem still on. please help me. thank you.

In file included from /usr/include/eigen3/Eigen/Core:341:0, from /usr/include/eigen3/Eigen/StdVector:14, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/include/eigen3/Eigen/src/Core/functors/AssignmentFunctors.h:21:34: note: provided for ‘template struct Eigen::internal::assign_op’ template struct assign_op { ^ In file included from /usr/local/include/eigen3/Eigen/Geometry:39:0, from /home/cc/sp_ws/src/sptam/src/sptam/MapPoint.hpp:37, from /home/cc/sp_ws/src/sptam/src/sptam/Map.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:36, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/local/include/eigen3/Eigen/src/Geometry/Homogeneous.h:351:127: error: template argument 3 is invalid struct Assignment<DstXprType, Homogeneous<ArgType,Vertical>, internal::assign_op<Scalar,typename ArgType::Scalar>, Dense2Dense> ^ /usr/local/include/eigen3/Eigen/src/Geometry/Homogeneous.h:368:115: error: wrong number of template arguments (2, should be 1) struct Assignment<DstXprType, Homogeneous<ArgType,Horizontal>, internal::assign_op<Scalar,typename ArgType::Scalar>, Dense2Dense> ^ In file included from /usr/include/eigen3/Eigen/Core:341:0, from /usr/include/eigen3/Eigen/StdVector:14, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/include/eigen3/Eigen/src/Core/functors/AssignmentFunctors.h:21:34: note: provided for ‘template struct Eigen::internal::assign_op’ template struct assign_op { ^ In file included from /usr/local/include/eigen3/Eigen/Geometry:39:0, from /home/cc/sp_ws/src/sptam/src/sptam/MapPoint.hpp:37, from /home/cc/sp_ws/src/sptam/src/sptam/Map.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:36, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/local/include/eigen3/Eigen/src/Geometry/Homogeneous.h:368:129: error: template argument 3 is invalid struct Assignment<DstXprType, Homogeneous<ArgType,Horizontal>, internal::assign_op<Scalar,typename ArgType::Scalar>, Dense2Dense> ^ /usr/local/include/eigen3/Eigen/src/Geometry/Homogeneous.h:405:90: error: wrong number of template arguments (2, should be 1) typedef CwiseBinaryOp<internal::scalar_sum_op<typename Lhs::Scalar,typename Rhs::Scalar>, const LinearProduct, const ConstantBlock> Xpr; ^ In file included from /usr/include/eigen3/Eigen/Core:296:0, from /usr/include/eigen3/Eigen/StdVector:14, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:181:34: note: provided for ‘template struct Eigen::internal::scalar_sum_op’ template struct scalar_sum_op; ^ In file included from /usr/local/include/eigen3/Eigen/Geometry:39:0, from /home/cc/sp_ws/src/sptam/src/sptam/MapPoint.hpp:37, from /home/cc/sp_ws/src/sptam/src/sptam/Map.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:36, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/local/include/eigen3/Eigen/src/Geometry/Homogeneous.h:405:133: error: template argument 1 is invalid typedef CwiseBinaryOp<internal::scalar_sum_op<typename Lhs::Scalar,typename Rhs::Scalar>, const LinearProduct, const ConstantBlock> Xpr; ^ /usr/local/include/eigen3/Eigen/src/Geometry/Homogeneous.h:458:90: error: wrong number of template arguments (2, should be 1) typedef CwiseBinaryOp<internal::scalar_sum_op<typename Lhs::Scalar,typename Rhs::Scalar>, const LinearProduct, const ConstantBlock> Xpr; ^ In file included from /usr/include/eigen3/Eigen/Core:296:0, from /usr/include/eigen3/Eigen/StdVector:14, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:181:34: note: provided for ‘template struct Eigen::internal::scalar_sum_op’ template struct scalar_sum_op; ^ In file included from /usr/local/include/eigen3/Eigen/Geometry:39:0, from /home/cc/sp_ws/src/sptam/src/sptam/MapPoint.hpp:37, from /home/cc/sp_ws/src/sptam/src/sptam/Map.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:36, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/local/include/eigen3/Eigen/src/Geometry/Homogeneous.h:458:133: error: template argument 1 is invalid typedef CwiseBinaryOp<internal::scalar_sum_op<typename Lhs::Scalar,typename Rhs::Scalar>, const LinearProduct, const ConstantBlock> Xpr; ^ In file included from /usr/local/include/eigen3/Eigen/Geometry:41:0, from /home/cc/sp_ws/src/sptam/src/sptam/MapPoint.hpp:37, from /home/cc/sp_ws/src/sptam/src/sptam/Map.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:36, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/local/include/eigen3/Eigen/src/Geometry/Rotation2D.h: In member function ‘Eigen::Rotation2D::Scalar Eigen::Rotation2D::smallestPositiveAngle() const’: /usr/local/include/eigen3/Eigen/src/Geometry/Rotation2D.h:85:18: error: ‘fmod’ is not a member of ‘Eigen::numext’ Scalar tmp = numext::fmod(m_angle,Scalar(2EIGEN_PI)); ^ /usr/local/include/eigen3/Eigen/src/Geometry/Rotation2D.h:85:18: note: suggested alternatives: In file included from /usr/include/features.h:367:0, from /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:39, from /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:482, from /usr/include/c++/5/new:39, from /usr/include/eigen3/Eigen/Core:56, from /usr/include/eigen3/Eigen/StdVector:14, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/include/x86_64-linux-gnu/bits/mathcalls.h:187:1: note: ‘fmod’ MATHCALL (fmod,, (Mdouble x, Mdouble y)); ^ In file included from /usr/include/c++/5/complex:44:0, from /usr/include/eigen3/Eigen/Core:70, from /usr/include/eigen3/Eigen/StdVector:14, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/include/c++/5/cmath:309:5: note: ‘std::fmod’ fmod(_Tp __x, _Up y) ^ In file included from /usr/local/include/eigen3/Eigen/Geometry:41:0, from /home/cc/sp_ws/src/sptam/src/sptam/MapPoint.hpp:37, from /home/cc/sp_ws/src/sptam/src/sptam/Map.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:36, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/local/include/eigen3/Eigen/src/Geometry/Rotation2D.h: In member function ‘Eigen::Rotation2D::Scalar Eigen::Rotation2D::smallestAngle() const’: /usr/local/include/eigen3/Eigen/src/Geometry/Rotation2D.h:91:18: error: ‘fmod’ is not a member of ‘Eigen::numext’ Scalar tmp = numext::fmod(m_angle,Scalar(2EIGEN_PI)); ^ /usr/local/include/eigen3/Eigen/src/Geometry/Rotation2D.h:91:18: note: suggested alternatives: In file included from /usr/include/features.h:367:0, from /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h:39, from /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h:482, from /usr/include/c++/5/new:39, from /usr/include/eigen3/Eigen/Core:56, from /usr/include/eigen3/Eigen/StdVector:14, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/include/x86_64-linux-gnu/bits/mathcalls.h:187:1: note: ‘fmod’ MATHCALL (fmod,, (Mdouble x, Mdouble y)); ^ In file included from /usr/include/c++/5/complex:44:0, from /usr/include/eigen3/Eigen/Core:70, from /usr/include/eigen3/Eigen/StdVector:14, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/include/c++/5/cmath:309:5: note: ‘std::fmod’ fmod(_Tp __x, _Up y) ^ In file included from /usr/local/include/eigen3/Eigen/Geometry:42:0, from /home/cc/sp_ws/src/sptam/src/sptam/MapPoint.hpp:37, from /home/cc/sp_ws/src/sptam/src/sptam/Map.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:36, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/local/include/eigen3/Eigen/src/Geometry/Quaternion.h: In member function ‘typename Eigen::internal::traits::Scalar Eigen::QuaternionBase::angularDistance(const Eigen::QuaternionBase&) const’: /usr/local/include/eigen3/Eigen/src/Geometry/Quaternion.h:709:45: error: ‘abs’ is not a member of ‘Eigen::numext’ return Scalar(2) atan2( d.vec().norm(), numext::abs(d.w()) ); ^ /usr/local/include/eigen3/Eigen/src/Geometry/Quaternion.h:709:45: note: suggested alternatives: In file included from /usr/include/c++/5/cstdlib:72:0, from /usr/include/c++/5/ext/string_conversions.h:41, from /usr/include/c++/5/bits/basic_string.h:5249, from /usr/include/c++/5/string:52, from /usr/include/c++/5/bits/locale_classes.h:40, from /usr/include/c++/5/bits/ios_base.h:41, from /usr/include/c++/5/ios:42, from /usr/include/c++/5/istream:38, from /usr/include/c++/5/sstream:38, from /usr/include/c++/5/complex:45, from /usr/include/eigen3/Eigen/Core:70, from /usr/include/eigen3/Eigen/StdVector:14, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/include/stdlib.h:774:12: note: ‘abs’ extern int abs (int x) THROW attribute ((const)) wur; ^ In file included from /usr/include/eigen3/Eigen/Core:70:0, from /usr/include/eigen3/Eigen/StdVector:14, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/include/c++/5/complex:597:5: note: ‘std::abs’ abs(const complex<_Tp>& z) { return complex_abs(z.rep()); } ^ In file included from /usr/include/eigen3/Eigen/Core:441:0, from /usr/include/eigen3/Eigen/StdVector:14, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/include/eigen3/Eigen/src/Core/GlobalFunctions.h:58:36: note: ‘Eigen::abs’ EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(abs,scalar_abs_op) ^ /usr/include/eigen3/Eigen/src/Core/GlobalFunctions.h:17:4: note: in definition of macro ‘EIGEN_ARRAY_DECLARE_GLOBAL_UNARY’ (NAME)(const Eigen::ArrayBase& x) { \ ^ In file included from /usr/local/include/eigen3/Eigen/Geometry:42:0, from /home/cc/sp_ws/src/sptam/src/sptam/MapPoint.hpp:37, from /home/cc/sp_ws/src/sptam/src/sptam/Map.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:36, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/local/include/eigen3/Eigen/src/Geometry/Quaternion.h: In member function ‘Eigen::Quaternion<typename Eigen::internal::traits::Scalar> Eigen::QuaternionBase::slerp(const Scalar&, const Eigen::QuaternionBase&) const’: /usr/local/include/eigen3/Eigen/src/Geometry/Quaternion.h:729:17: error: ‘abs’ is not a member of ‘Eigen::numext’ Scalar absD = numext::abs(d); ^ /usr/local/include/eigen3/Eigen/src/Geometry/Quaternion.h:729:17: note: suggested alternatives: In file included from /usr/include/c++/5/cstdlib:72:0, from /usr/include/c++/5/ext/string_conversions.h:41, from /usr/include/c++/5/bits/basic_string.h:5249, from /usr/include/c++/5/string:52, from /usr/include/c++/5/bits/locale_classes.h:40, from /usr/include/c++/5/bits/ios_base.h:41, from /usr/include/c++/5/ios:42, from /usr/include/c++/5/istream:38, from /usr/include/c++/5/sstream:38, from /usr/include/c++/5/complex:45, from /usr/include/eigen3/Eigen/Core:70, from /usr/include/eigen3/Eigen/StdVector:14, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/include/stdlib.h:774:12: note: ‘abs’ extern int abs (int x) THROW attribute ((const)) wur; ^ In file included from /usr/include/eigen3/Eigen/Core:70:0, from /usr/include/eigen3/Eigen/StdVector:14, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/include/c++/5/complex:597:5: note: ‘std::abs’ abs(const complex<_Tp>& z) { return complex_abs(z.rep()); } ^ In file included from /usr/include/eigen3/Eigen/Core:441:0, from /usr/include/eigen3/Eigen/StdVector:14, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/include/eigen3/Eigen/src/Core/GlobalFunctions.h:58:36: note: ‘Eigen::abs’ EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(abs,scalar_abs_op) ^ /usr/include/eigen3/Eigen/src/Core/GlobalFunctions.h:17:4: note: in definition of macro ‘EIGEN_ARRAY_DECLARE_GLOBAL_UNARY’ (NAME)(const Eigen::ArrayBase& x) { \ ^ In file included from /usr/local/include/eigen3/Eigen/Geometry:46:0, from /home/cc/sp_ws/src/sptam/src/sptam/MapPoint.hpp:37, from /home/cc/sp_ws/src/sptam/src/sptam/Map.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:36, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/local/include/eigen3/Eigen/src/Geometry/Scaling.h: At global scope: /usr/local/include/eigen3/Eigen/src/Geometry/Scaling.h:116:55: error: ‘product’ has not been declared EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(Derived,Scalar,product) ^ /usr/local/include/eigen3/Eigen/src/Geometry/Scaling.h:117:1: error: expected constructor, destructor, or type conversion before ‘operator’ operator(const MatrixBase& matrix, const UniformScaling& s) ^ In file included from /usr/local/include/eigen3/Eigen/Geometry:47:0, from /home/cc/sp_ws/src/sptam/src/sptam/MapPoint.hpp:37, from /home/cc/sp_ws/src/sptam/src/sptam/Map.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:36, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/local/include/eigen3/Eigen/src/Geometry/Hyperplane.h: In member function ‘Eigen::Hyperplane<_Scalar, _AmbientDim, Options>::Scalar Eigen::Hyperplane<_Scalar, _AmbientDim, Options>::absDistance(const VectorType&) const’: /usr/local/include/eigen3/Eigen/src/Geometry/Hyperplane.h:148:83: error: ‘abs’ is not a member of ‘Eigen::numext’ EIGEN_DEVICE_FUNC inline Scalar absDistance(const VectorType& p) const { return numext::abs(signedDistance(p)); } ^ /usr/local/include/eigen3/Eigen/src/Geometry/Hyperplane.h:148:83: note: suggested alternatives: In file included from /usr/include/c++/5/cstdlib:72:0, from /usr/include/c++/5/ext/string_conversions.h:41, from /usr/include/c++/5/bits/basic_string.h:5249, from /usr/include/c++/5/string:52, from /usr/include/c++/5/bits/locale_classes.h:40, from /usr/include/c++/5/bits/ios_base.h:41, from /usr/include/c++/5/ios:42, from /usr/include/c++/5/istream:38, from /usr/include/c++/5/sstream:38, from /usr/include/c++/5/complex:45, from /usr/include/eigen3/Eigen/Core:70, from /usr/include/eigen3/Eigen/StdVector:14, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/include/stdlib.h:774:12: note: ‘abs’ extern int abs (int x) THROW attribute ((const)) wur; ^ In file included from /usr/include/eigen3/Eigen/Core:70:0, from /usr/include/eigen3/Eigen/StdVector:14, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/include/c++/5/complex:597:5: note: ‘std::abs’ abs(const complex<_Tp>& z) { return complex_abs(z.rep()); } ^ In file included from /usr/include/eigen3/Eigen/Core:441:0, from /usr/include/eigen3/Eigen/StdVector:14, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/include/eigen3/Eigen/src/Core/GlobalFunctions.h:58:36: note: ‘Eigen::abs’ EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(abs,scalar_abs_op) ^ /usr/include/eigen3/Eigen/src/Core/GlobalFunctions.h:17:4: note: in definition of macro ‘EIGEN_ARRAY_DECLARE_GLOBAL_UNARY’ (NAME)(const Eigen::ArrayBase& x) { \ ^ In file included from /usr/local/include/eigen3/Eigen/Geometry:47:0, from /home/cc/sp_ws/src/sptam/src/sptam/MapPoint.hpp:37, from /home/cc/sp_ws/src/sptam/src/sptam/Map.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:36, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/local/include/eigen3/Eigen/src/Geometry/Hyperplane.h: In member function ‘Eigen::Hyperplane<_Scalar, _AmbientDim, Options>::VectorType Eigen::Hyperplane<_Scalar, _AmbientDim, Options>::intersection(const Eigen::Hyperplane<_Scalar, _AmbientDim, Options>&) const’: /usr/local/include/eigen3/Eigen/src/Geometry/Hyperplane.h:197:12: error: ‘abs’ is not a member of ‘Eigen::numext’ if(numext::abs(coeffs().coeff(1))>numext::abs(coeffs().coeff(0))) ^ /usr/local/include/eigen3/Eigen/src/Geometry/Hyperplane.h:197:12: note: suggested alternatives: In file included from /usr/include/c++/5/cstdlib:72:0, from /usr/include/c++/5/ext/string_conversions.h:41, from /usr/include/c++/5/bits/basic_string.h:5249, from /usr/include/c++/5/string:52, from /usr/include/c++/5/bits/locale_classes.h:40, from /usr/include/c++/5/bits/ios_base.h:41, from /usr/include/c++/5/ios:42, from /usr/include/c++/5/istream:38, from /usr/include/c++/5/sstream:38, from /usr/include/c++/5/complex:45, from /usr/include/eigen3/Eigen/Core:70, from /usr/include/eigen3/Eigen/StdVector:14, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/include/stdlib.h:774:12: note: ‘abs’ extern int abs (int x) THROW attribute ((const)) wur; ^ In file included from /usr/include/eigen3/Eigen/Core:70:0, from /usr/include/eigen3/Eigen/StdVector:14, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/include/c++/5/complex:597:5: note: ‘std::abs’ abs(const complex<_Tp>& z) { return complex_abs(z.rep()); } ^ In file included from /usr/include/eigen3/Eigen/Core:441:0, from /usr/include/eigen3/Eigen/StdVector:14, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/include/eigen3/Eigen/src/Core/GlobalFunctions.h:58:36: note: ‘Eigen::abs’ EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(abs,scalar_abs_op) ^ /usr/include/eigen3/Eigen/src/Core/GlobalFunctions.h:17:4: note: in definition of macro ‘EIGEN_ARRAY_DECLARE_GLOBAL_UNARY’ (NAME)(const Eigen::ArrayBase& x) { \ ^ In file included from /usr/local/include/eigen3/Eigen/Geometry:47:0, from /home/cc/sp_ws/src/sptam/src/sptam/MapPoint.hpp:37, from /home/cc/sp_ws/src/sptam/src/sptam/Map.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:36, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/local/include/eigen3/Eigen/src/Geometry/Hyperplane.h:197:43: error: ‘abs’ is not a member of ‘Eigen::numext’ if(numext::abs(coeffs().coeff(1))>numext::abs(coeffs().coeff(0))) ^ /usr/local/include/eigen3/Eigen/src/Geometry/Hyperplane.h:197:43: note: suggested alternatives: In file included from /usr/include/c++/5/cstdlib:72:0, from /usr/include/c++/5/ext/string_conversions.h:41, from /usr/include/c++/5/bits/basic_string.h:5249, from /usr/include/c++/5/string:52, from /usr/include/c++/5/bits/locale_classes.h:40, from /usr/include/c++/5/bits/ios_base.h:41, from /usr/include/c++/5/ios:42, from /usr/include/c++/5/istream:38, from /usr/include/c++/5/sstream:38, from /usr/include/c++/5/complex:45, from /usr/include/eigen3/Eigen/Core:70, from /usr/include/eigen3/Eigen/StdVector:14, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/include/stdlib.h:774:12: note: ‘abs’ extern int abs (int x) THROW attribute ((const)) wur; ^ In file included from /usr/include/eigen3/Eigen/Core:70:0, from /usr/include/eigen3/Eigen/StdVector:14, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/include/c++/5/complex:597:5: note: ‘std::abs’ abs(const complex<_Tp>& z) { return complex_abs(z.__rep()); } ^ In file included from /usr/include/eigen3/Eigen/Core:441:0, from /usr/include/eigen3/Eigen/StdVector:14, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/include/eigen3/Eigen/src/Core/GlobalFunctions.h:58:36: note: ‘Eigen::abs’ EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(abs,scalar_abs_op) ^ /usr/include/eigen3/Eigen/src/Core/GlobalFunctions.h:17:4: note: in definition of macro ‘EIGEN_ARRAY_DECLARE_GLOBAL_UNARY’ (NAME)(const Eigen::ArrayBase& x) { \ ^ In file included from /usr/local/include/eigen3/Eigen/Geometry:49:0, from /home/cc/sp_ws/src/sptam/src/sptam/MapPoint.hpp:37, from /home/cc/sp_ws/src/sptam/src/sptam/Map.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:36, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/local/include/eigen3/Eigen/src/Geometry/AlignedBox.h: At global scope: /usr/local/include/eigen3/Eigen/src/Geometry/AlignedBox.h:115:100: error: ‘quotient’ has not been declared EIGEN_DEVICE_FUNC inline const EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(VectorTypeSum, RealScalar, quotient) ^ /usr/local/include/eigen3/Eigen/src/Geometry/AlignedBox.h:115:108: error: expected ‘;’ at end of member declaration EIGEN_DEVICE_FUNC inline const EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(VectorTypeSum, RealScalar, quotient) ^ /usr/local/include/eigen3/Eigen/src/Geometry/AlignedBox.h:123:93: error: wrong number of template arguments (2, should be 1) EIGEN_DEVICE_FUNC inline const CwiseBinaryOp< internal::scalar_difference_op<Scalar,Scalar>, const VectorType, const VectorType> sizes() const ^ In file included from /usr/include/eigen3/Eigen/Core:296:0, from /usr/include/eigen3/Eigen/StdVector:14, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:182:34: note: provided for ‘template struct Eigen::internal::scalar_difference_op’ template struct scalar_difference_op; ^ In file included from /usr/local/include/eigen3/Eigen/Geometry:49:0, from /home/cc/sp_ws/src/sptam/src/sptam/MapPoint.hpp:37, from /home/cc/sp_ws/src/sptam/src/sptam/Map.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:36, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/local/include/eigen3/Eigen/src/Geometry/AlignedBox.h:123:130: error: template argument 1 is invalid EIGEN_DEVICE_FUNC inline const CwiseBinaryOp< internal::scalar_difference_op<Scalar,Scalar>, const VectorType, const VectorType> sizes() const ^ /usr/local/include/eigen3/Eigen/src/Geometry/AlignedBox.h:134:87: error: wrong number of template arguments (2, should be 1) EIGEN_DEVICE_FUNC inline CwiseBinaryOp< internal::scalar_difference_op<Scalar,Scalar>, const VectorType, const VectorType> diagonal() const ^ In file included from /usr/include/eigen3/Eigen/Core:296:0, from /usr/include/eigen3/Eigen/StdVector:14, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h:182:34: note: provided for ‘template struct Eigen::internal::scalar_difference_op’ template struct scalar_difference_op; ^ In file included from /usr/local/include/eigen3/Eigen/Geometry:49:0, from /home/cc/sp_ws/src/sptam/src/sptam/MapPoint.hpp:37, from /home/cc/sp_ws/src/sptam/src/sptam/Map.hpp:35, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.hpp:36, from /home/cc/sp_ws/src/sptam/src/sptam/MapMaker.cpp:34: /usr/local/include/eigen3/Eigen/src/Geometry/AlignedBox.h:134:124: error: template argument 1 is invalid EIGEN_DEVICE_FUNC inline CwiseBinaryOp< internal::scalar_difference_op<Scalar,Scalar>, const VectorType, const VectorType> diagonal() const ^ sptam/src/sptam/CMakeFiles/sptam.dir/build.make:278: recipe for target 'sptam/src/sptam/CMakeFiles/sptam.dir/MapMaker.cpp.o' failed make[2]: [sptam/src/sptam/CMakeFiles/sptam.dir/MapMaker.cpp.o] Error 1 CMakeFiles/Makefile2:3266: recipe for target 'sptam/src/sptam/CMakeFiles/sptam.dir/all' failed make[1]: [sptam/src/sptam/CMakeFiles/sptam.dir/all] Error 2 Makefile:138: recipe for target 'all' failed make: *** [all] Error 2

taihup commented 6 years ago

Hi,

Are you working on an Ubuntu 16.04 fresh install? if not, try it and let me know, it should work. I am pretty sure you have some issue between compatibility stuffs.

cumtchenchang commented 6 years ago

@taihup . Thank for your answer, I have been used Ubuntu 16.04.3 for several months. I used eigen3.2、eigen3.1、eigen3.0,the probelm is still on. Few minutes ago, I upgrated the system, the problem is not changed.

taihup commented 6 years ago

So, I suppose you are having some kind of wrong configuration. Try S-PTAM in a fresh Ubuntu 16.04, so we can discard any configuration problem.