When I execute the following code, I get an error when compiling the code.
git clone https://github.com/flexible-collision-library/fcl
cd fcl
mkdir build
cd build
cmake ..
sudo make install
The error message is as follows:
Scanning dependencies of target test_gjk_libccd-inl_epa [ 95%] Building CXX object test/narrowphase/detail/convexity_based_algorithm/CMakeFiles/test_gjk_libccd-inl_epa.dir/test_gjk_libccd-inl_epa.cpp.o In file included from /usr/include/eigen3/Eigen/Core:348:0, from /usr/include/eigen3/Eigen/Dense:1, from /home/baiyang/src/fcl/include/fcl/common/types.h:46, from /home/baiyang/src/fcl/include/fcl/math/bv/AABB.h:41, from /home/baiyang/src/fcl/include/fcl/geometry/collision_geometry.h:43, from /home/baiyang/src/fcl/include/fcl/geometry/shape/shape_base.h:41, from /home/baiyang/src/fcl/include/fcl/geometry/shape/box.h:41, from /home/baiyang/src/fcl/include/fcl/narrowphase/detail/convexity_based_algorithm/gjk_libccd.h:47, from /home/baiyang/src/fcl/include/fcl/narrowphase/detail/convexity_based_algorithm/gjk_libccd-inl.h:41, from /home/baiyang/src/fcl/test/narrowphase/detail/convexity_based_algorithm/test_gjk_libccd-inl_epa.cpp:42: /usr/include/eigen3/Eigen/src/Core/Product.h: In instantiation of ‘struct Eigen::internal::product_result_scalar<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, Eigen::DenseShape, Eigen::DenseShape>’: /usr/include/eigen3/Eigen/src/Core/Product.h:78:73: required from ‘struct Eigen::internal::traits<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >’ /usr/include/eigen3/Eigen/src/Core/Product.h:151:7: required from ‘class Eigen::internal::dense_product_base<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0, 3>’ /usr/include/eigen3/Eigen/src/Core/Product.h:183:7: required from ‘class Eigen::ProductImpl<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0, Eigen::Dense>’ /usr/include/eigen3/Eigen/src/Core/Product.h:107:7: required from ‘class Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0>’ /usr/include/eigen3/Eigen/src/Geometry/RotationBase.h:94:33: required from ‘Eigen::RotationBase<Derived, _Dim>::VectorType Eigen::RotationBase<Derived, _Dim>::_transformVector(const OtherVectorType&) const [with OtherVectorType = Eigen::Matrix<float, 3, 1>; Derived = Eigen::AngleAxis; int _Dim = 3; Eigen::RotationBase<Derived, _Dim>::VectorType = Eigen::Matrix<double, 3, 1>; typename Eigen::internal::traits::Scalar = double]’ /usr/include/eigen3/Eigen/src/Geometry/RotationBase.h:128:32: required from ‘static Eigen::internal::rotation_base_generic_product_selector<RotationDerived, OtherVectorType, true>::ReturnType Eigen::internal::rotation_base_generic_product_selector<RotationDerived, OtherVectorType, true>::run(const RotationDerived&, const OtherVectorType&) [with RotationDerived = Eigen::AngleAxis; OtherVectorType = Eigen::Matrix<float, 3, 1>; Eigen::internal::rotation_base_generic_product_selector<RotationDerived, OtherVectorType, true>::ReturnType = Eigen::Matrix<double, 3, 1>; typename RotationDerived::Scalar = double]’ /usr/include/eigen3/Eigen/src/Geometry/RotationBase.h:72:89: required from ‘typename Eigen::internal::rotation_base_generic_product_selector<Derived, OtherDerived, OtherDerived:: IsVectorAtCompileTime>::ReturnType Eigen::RotationBase<Derived, _Dim>::operator*(const Eigen::EigenBase&) const [with OtherDerived = Eigen::Matrix<float, 3, 1>; Derived = Eigen::AngleAxis; int _Dim = 3; typename Eigen::internal::rotation_base_generic_product_selector<Derived, OtherDerived, OtherDerived:: IsVectorAtCompileTime>::ReturnType = Eigen::Matrix<double, 3, 1>]’ /home/baiyang/src/fcl/test/narrowphase/detail/convexity_based_algorithm/test_gjk_libccd-inl_epa.cpp:242:40: required from here /usr/include/eigen3/Eigen/src/Core/Product.h:41:98: error: no type named ‘ReturnType’ in ‘struct Eigen::internal::scalar_product_traits<double, float>’ typedef typename scalar_product_traits<typename Lhs::Scalar, typename Rhs::Scalar>::ReturnType Scalar; ^ In file included from /usr/include/eigen3/Eigen/Core:344:0, from /usr/include/eigen3/Eigen/Dense:1, from /home/baiyang/src/fcl/include/fcl/common/types.h:46, from /home/baiyang/src/fcl/include/fcl/math/bv/AABB.h:41, from /home/baiyang/src/fcl/include/fcl/geometry/collision_geometry.h:43, from /home/baiyang/src/fcl/include/fcl/geometry/shape/shape_base.h:41, from /home/baiyang/src/fcl/include/fcl/geometry/shape/box.h:41, from /home/baiyang/src/fcl/include/fcl/narrowphase/detail/convexity_based_algorithm/gjk_libccd.h:47, from /home/baiyang/src/fcl/include/fcl/narrowphase/detail/convexity_based_algorithm/gjk_libccd-inl.h:41, from /home/baiyang/src/fcl/test/narrowphase/detail/convexity_based_algorithm/test_gjk_libccd-inl_epa.cpp:42: /usr/include/eigen3/Eigen/src/Core/DenseBase.h: In instantiation of ‘class Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >’: /usr/include/eigen3/Eigen/src/Core/MatrixBase.h:48:34: required from ‘class Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >’ /usr/include/eigen3/Eigen/src/Core/Product.h:151:7: required from ‘class Eigen::internal::dense_product_base<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0, 3>’ /usr/include/eigen3/Eigen/src/Core/Product.h:183:7: required from ‘class Eigen::ProductImpl<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0, Eigen::Dense>’ /usr/include/eigen3/Eigen/src/Core/Product.h:107:7: required from ‘class Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0>’ /usr/include/eigen3/Eigen/src/Geometry/RotationBase.h:94:33: required from ‘Eigen::RotationBase<Derived, _Dim>::VectorType Eigen::RotationBase<Derived, _Dim>::_transformVector(const OtherVectorType&) const [with OtherVectorType = Eigen::Matrix<float, 3, 1>; Derived = Eigen::AngleAxis; int _Dim = 3; Eigen::RotationBase<Derived, _Dim>::VectorType = Eigen::Matrix<double, 3, 1>; typename Eigen::internal::traits::Scalar = double]’ /usr/include/eigen3/Eigen/src/Geometry/RotationBase.h:128:32: required from ‘static Eigen::internal::rotation_base_generic_product_selector<RotationDerived, OtherVectorType, true>::ReturnType Eigen::internal::rotation_base_generic_product_selector<RotationDerived, OtherVectorType, true>::run(const RotationDerived&, const OtherVectorType&) [with RotationDerived = Eigen::AngleAxis; OtherVectorType = Eigen::Matrix<float, 3, 1>; Eigen::internal::rotation_base_generic_product_selector<RotationDerived, OtherVectorType, true>::ReturnType = Eigen::Matrix<double, 3, 1>; typename RotationDerived::Scalar = double]’ /usr/include/eigen3/Eigen/src/Geometry/RotationBase.h:72:89: required from ‘typename Eigen::internal::rotation_base_generic_product_selector<Derived, OtherDerived, OtherDerived:: IsVectorAtCompileTime>::ReturnType Eigen::RotationBase<Derived, _Dim>::operator*(const Eigen::EigenBase&) const [with OtherDerived = Eigen::Matrix<float, 3, 1>; Derived = Eigen::AngleAxis; int _Dim = 3; typename Eigen::internal::rotation_base_generic_product_selector<Derived, OtherDerived, OtherDerived:: IsVectorAtCompileTime>::ReturnType = Eigen::Matrix<double, 3, 1>]’ /home/baiyang/src/fcl/test/narrowphase/detail/convexity_based_algorithm/test_gjk_libccd-inl_epa.cpp:242:40: required from here /usr/include/eigen3/Eigen/src/Core/DenseBase.h:78:25: error: using-declaration for non-member at class scope using Base::operator*; ^ /usr/include/eigen3/Eigen/src/Core/DenseBase.h:79:25: error: using-declaration for non-member at class scope using Base::operator/; ^ /usr/include/eigen3/Eigen/src/Core/DenseBase.h:80:17: error: using-declaration for non-member at class scope using Base::derived; ^ /usr/include/eigen3/Eigen/src/Core/DenseBase.h:81:17: error: using-declaration for non-member at class scope using Base::const_cast_derived; ^ /usr/include/eigen3/Eigen/src/Core/DenseBase.h:82:17: error: using-declaration for non-member at class scope using Base::rows; ^ /usr/include/eigen3/Eigen/src/Core/DenseBase.h:83:17: error: using-declaration for non-member at class scope using Base::cols; ^ /usr/include/eigen3/Eigen/src/Core/DenseBase.h:84:17: error: using-declaration for non-member at class scope using Base::size; ^ /usr/include/eigen3/Eigen/src/Core/DenseBase.h:85:17: error: using-declaration for non-member at class scope using Base::rowIndexByOuterInner; ^ /usr/include/eigen3/Eigen/src/Core/DenseBase.h:86:17: error: using-declaration for non-member at class scope using Base::colIndexByOuterInner; ^ /usr/include/eigen3/Eigen/src/Core/DenseBase.h:87:17: error: using-declaration for non-member at class scope using Base::coeff; ^ /usr/include/eigen3/Eigen/src/Core/DenseBase.h:88:17: error: using-declaration for non-member at class scope using Base::coeffByOuterInner; ^ /usr/include/eigen3/Eigen/src/Core/DenseBase.h:89:26: error: using-declaration for non-member at class scope using Base::operator(); ^ /usr/include/eigen3/Eigen/src/Core/DenseBase.h:90:26: error: using-declaration for non-member at class scope using Base::operator[]; ^ /usr/include/eigen3/Eigen/src/Core/DenseBase.h:91:17: error: using-declaration for non-member at class scope using Base::x; ^ /usr/include/eigen3/Eigen/src/Core/DenseBase.h:92:17: error: using-declaration for non-member at class scope using Base::y; ^ /usr/include/eigen3/Eigen/src/Core/DenseBase.h:93:17: error: using-declaration for non-member at class scope using Base::z; ^ /usr/include/eigen3/Eigen/src/Core/DenseBase.h:94:17: error: using-declaration for non-member at class scope using Base::w; ^ /usr/include/eigen3/Eigen/src/Core/DenseBase.h:95:17: error: using-declaration for non-member at class scope using Base::stride; ^ /usr/include/eigen3/Eigen/src/Core/DenseBase.h:96:17: error: using-declaration for non-member at class scope using Base::innerStride; ^ /usr/include/eigen3/Eigen/src/Core/DenseBase.h:97:17: error: using-declaration for non-member at class scope using Base::outerStride; ^ /usr/include/eigen3/Eigen/src/Core/DenseBase.h:98:17: error: using-declaration for non-member at class scope using Base::rowStride; ^ /usr/include/eigen3/Eigen/src/Core/DenseBase.h:99:17: error: using-declaration for non-member at class scope using Base::colStride; ^ In file included from /usr/include/eigen3/Eigen/Core:345:0, from /usr/include/eigen3/Eigen/Dense:1, from /home/baiyang/src/fcl/include/fcl/common/types.h:46, from /home/baiyang/src/fcl/include/fcl/math/bv/AABB.h:41, from /home/baiyang/src/fcl/include/fcl/geometry/collision_geometry.h:43, from /home/baiyang/src/fcl/include/fcl/geometry/shape/shape_base.h:41, from /home/baiyang/src/fcl/include/fcl/geometry/shape/box.h:41, from /home/baiyang/src/fcl/include/fcl/narrowphase/detail/convexity_based_algorithm/gjk_libccd.h:47, from /home/baiyang/src/fcl/include/fcl/narrowphase/detail/convexity_based_algorithm/gjk_libccd-inl.h:41, from /home/baiyang/src/fcl/test/narrowphase/detail/convexity_based_algorithm/test_gjk_libccd-inl_epa.cpp:42: /usr/include/eigen3/Eigen/src/Core/MatrixBase.h: In instantiation of ‘class Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >’: /usr/include/eigen3/Eigen/src/Core/Product.h:151:7: required from ‘class Eigen::internal::dense_product_base<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0, 3>’ /usr/include/eigen3/Eigen/src/Core/Product.h:183:7: required from ‘class Eigen::ProductImpl<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0, Eigen::Dense>’ /usr/include/eigen3/Eigen/src/Core/Product.h:107:7: required from ‘class Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0>’ /usr/include/eigen3/Eigen/src/Geometry/RotationBase.h:94:33: required from ‘Eigen::RotationBase<Derived, _Dim>::VectorType Eigen::RotationBase<Derived, _Dim>::_transformVector(const OtherVectorType&) const [with OtherVectorType = Eigen::Matrix<float, 3, 1>; Derived = Eigen::AngleAxis; int _Dim = 3; Eigen::RotationBase<Derived, _Dim>::VectorType = Eigen::Matrix<double, 3, 1>; typename Eigen::internal::traits::Scalar = double]’ /usr/include/eigen3/Eigen/src/Geometry/RotationBase.h:128:32: required from ‘static Eigen::internal::rotation_base_generic_product_selector<RotationDerived, OtherVectorType, true>::ReturnType Eigen::internal::rotation_base_generic_product_selector<RotationDerived, OtherVectorType, true>::run(const RotationDerived&, const OtherVectorType&) [with RotationDerived = Eigen::AngleAxis; OtherVectorType = Eigen::Matrix<float, 3, 1>; Eigen::internal::rotation_base_generic_product_selector<RotationDerived, OtherVectorType, true>::ReturnType = Eigen::Matrix<double, 3, 1>; typename RotationDerived::Scalar = double]’ /usr/include/eigen3/Eigen/src/Geometry/RotationBase.h:72:89: required from ‘typename Eigen::internal::rotation_base_generic_product_selector<Derived, OtherDerived, OtherDerived:: IsVectorAtCompileTime>::ReturnType Eigen::RotationBase<Derived, _Dim>::operator*(const Eigen::EigenBase&) const [with OtherDerived = Eigen::Matrix<float, 3, 1>; Derived = Eigen::AngleAxis; int _Dim = 3; typename Eigen::internal::rotation_base_generic_product_selector<Derived, OtherDerived, OtherDerived:: IsVectorAtCompileTime>::ReturnType = Eigen::Matrix<double, 3, 1>]’ /home/baiyang/src/fcl/test/narrowphase/detail/convexity_based_algorithm/test_gjk_libccd-inl_epa.cpp:242:40: required from here /usr/include/eigen3/Eigen/src/Core/MatrixBase.h:70:17: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}::derived’ in ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka class Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}’ using Base::derived; ^ /usr/include/eigen3/Eigen/src/Core/MatrixBase.h:71:17: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}::const_cast_derived’ in ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka class Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}’ using Base::const_cast_derived; ^ /usr/include/eigen3/Eigen/src/Core/MatrixBase.h:72:17: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}::rows’ in ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka class Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}’ using Base::rows; ^ /usr/include/eigen3/Eigen/src/Core/MatrixBase.h:73:17: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}::cols’ in ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka class Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}’ using Base::cols; ^ /usr/include/eigen3/Eigen/src/Core/MatrixBase.h:74:17: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}::size’ in ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka class Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}’ using Base::size; ^ /usr/include/eigen3/Eigen/src/Core/MatrixBase.h:75:17: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}::coeff’ in ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka class Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}’ using Base::coeff; ^ /usr/include/eigen3/Eigen/src/Core/MatrixBase.h:76:17: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}::coeffRef’ in ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka class Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}’ using Base::coeffRef; ^ /usr/include/eigen3/Eigen/src/Core/MatrixBase.h:78:17: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}::eval’ in ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka class Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}’ using Base::eval; ^ /usr/include/eigen3/Eigen/src/Core/MatrixBase.h:81:25: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}::operator*=’ in ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka class Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}’ using Base::operator*=; ^ /usr/include/eigen3/Eigen/src/Core/MatrixBase.h:82:25: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}::operator/=’ in ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka class Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}’ using Base::operator/=; ^ /usr/include/eigen3/Eigen/src/Core/MatrixBase.h:83:25: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}::operator*’ in ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka class Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}’ using Base::operator*; ^ /usr/include/eigen3/Eigen/src/Core/MatrixBase.h:84:25: error: no members matching ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}::operator/’ in ‘Eigen::MatrixBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >::Base {aka class Eigen::DenseBase<Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0> >}’ using Base::operator/; ^ In file included from /usr/include/eigen3/Eigen/Core:348:0, from /usr/include/eigen3/Eigen/Dense:1, from /home/baiyang/src/fcl/include/fcl/common/types.h:46, from /home/baiyang/src/fcl/include/fcl/math/bv/AABB.h:41, from /home/baiyang/src/fcl/include/fcl/geometry/collision_geometry.h:43, from /home/baiyang/src/fcl/include/fcl/geometry/shape/shape_base.h:41, from /home/baiyang/src/fcl/include/fcl/geometry/shape/box.h:41, from /home/baiyang/src/fcl/include/fcl/narrowphase/detail/convexity_based_algorithm/gjk_libccd.h:47, from /home/baiyang/src/fcl/include/fcl/narrowphase/detail/convexity_based_algorithm/gjk_libccd-inl.h:41, from /home/baiyang/src/fcl/test/narrowphase/detail/convexity_based_algorithm/test_gjk_libccd-inl_epa.cpp:42: /usr/include/eigen3/Eigen/src/Core/Product.h: In instantiation of ‘class Eigen::ProductImpl<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0, Eigen::Dense>’: /usr/include/eigen3/Eigen/src/Core/Product.h:107:7: required from ‘class Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0>’ /usr/include/eigen3/Eigen/src/Geometry/RotationBase.h:94:33: required from ‘Eigen::RotationBase<Derived, _Dim>::VectorType Eigen::RotationBase<Derived, _Dim>::_transformVector(const OtherVectorType&) const [with OtherVectorType = Eigen::Matrix<float, 3, 1>; Derived = Eigen::AngleAxis; int _Dim = 3; Eigen::RotationBase<Derived, _Dim>::VectorType = Eigen::Matrix<double, 3, 1>; typename Eigen::internal::traits::Scalar = double]’ /usr/include/eigen3/Eigen/src/Geometry/RotationBase.h:128:32: required from ‘static Eigen::internal::rotation_base_generic_product_selector<RotationDerived, OtherVectorType, true>::ReturnType Eigen::internal::rotation_base_generic_product_selector<RotationDerived, OtherVectorType, true>::run(const RotationDerived&, const OtherVectorType&) [with RotationDerived = Eigen::AngleAxis; OtherVectorType = Eigen::Matrix<float, 3, 1>; Eigen::internal::rotation_base_generic_product_selector<RotationDerived, OtherVectorType, true>::ReturnType = Eigen::Matrix<double, 3, 1>; typename RotationDerived::Scalar = double]’ /usr/include/eigen3/Eigen/src/Geometry/RotationBase.h:72:89: required from ‘typename Eigen::internal::rotation_base_generic_product_selector<Derived, OtherDerived, OtherDerived:: IsVectorAtCompileTime>::ReturnType Eigen::RotationBase<Derived, _Dim>::operator*(const Eigen::EigenBase&) const [with OtherDerived = Eigen::Matrix<float, 3, 1>; Derived = Eigen::AngleAxis; int _Dim = 3; typename Eigen::internal::rotation_base_generic_product_selector<Derived, OtherDerived, OtherDerived:: IsVectorAtCompileTime>::ReturnType = Eigen::Matrix<double, 3, 1>]’ /home/baiyang/src/fcl/test/narrowphase/detail/convexity_based_algorithm/test_gjk_libccd-inl_epa.cpp:242:40: required from here /usr/include/eigen3/Eigen/src/Core/Product.h:191:776: error: no members matching ‘Eigen::ProductImpl<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0, Eigen::Dense>::Base {aka Eigen::internal::dense_product_base<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0, 3>}::derived’ in ‘Eigen::ProductImpl<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0, Eigen::Dense>::Base {aka class Eigen::internal::dense_product_base<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0, 3>}’ /usr/include/eigen3/Eigen/src/Core/Product.h:191:797: error: no members matching ‘Eigen::ProductImpl<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0, Eigen::Dense>::Base {aka Eigen::internal::dense_product_base<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0, 3>}::const_cast_derived’ in ‘Eigen::ProductImpl<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0, Eigen::Dense>::Base {aka class Eigen::internal::dense_product_base<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0, 3>}’ In file included from /usr/include/eigen3/Eigen/Core:348:0, from /usr/include/eigen3/Eigen/Dense:1, from /home/baiyang/src/fcl/include/fcl/common/types.h:46, from /home/baiyang/src/fcl/include/fcl/math/bv/AABB.h:41, from /home/baiyang/src/fcl/include/fcl/geometry/collision_geometry.h:43, from /home/baiyang/src/fcl/include/fcl/geometry/shape/shape_base.h:41, from /home/baiyang/src/fcl/include/fcl/geometry/shape/box.h:41, from /home/baiyang/src/fcl/include/fcl/narrowphase/detail/convexity_based_algorithm/gjk_libccd.h:47, from /home/baiyang/src/fcl/include/fcl/narrowphase/detail/convexity_based_algorithm/gjk_libccd-inl.h:41, from /home/baiyang/src/fcl/test/narrowphase/detail/convexity_based_algorithm/test_gjk_libccd-inl_epa.cpp:42: /usr/include/eigen3/Eigen/src/Core/Product.h: In instantiation of ‘class Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0>’: /usr/include/eigen3/Eigen/src/Geometry/RotationBase.h:94:33: required from ‘Eigen::RotationBase<Derived, _Dim>::VectorType Eigen::RotationBase<Derived, _Dim>::_transformVector(const OtherVectorType&) const [with OtherVectorType = Eigen::Matrix<float, 3, 1>; Derived = Eigen::AngleAxis; int _Dim = 3; Eigen::RotationBase<Derived, _Dim>::VectorType = Eigen::Matrix<double, 3, 1>; typename Eigen::internal::traits::Scalar = double]’ /usr/include/eigen3/Eigen/src/Geometry/RotationBase.h:128:32: required from ‘static Eigen::internal::rotation_base_generic_product_selector<RotationDerived, OtherVectorType, true>::ReturnType Eigen::internal::rotation_base_generic_product_selector<RotationDerived, OtherVectorType, true>::run(const RotationDerived&, const OtherVectorType&) [with RotationDerived = Eigen::AngleAxis; OtherVectorType = Eigen::Matrix<float, 3, 1>; Eigen::internal::rotation_base_generic_product_selector<RotationDerived, OtherVectorType, true>::ReturnType = Eigen::Matrix<double, 3, 1>; typename RotationDerived::Scalar = double]’ /usr/include/eigen3/Eigen/src/Geometry/RotationBase.h:72:89: required from ‘typename Eigen::internal::rotation_base_generic_product_selector<Derived, OtherDerived, OtherDerived:: IsVectorAtCompileTime>::ReturnType Eigen::RotationBase<Derived, _Dim>::operator*(const Eigen::EigenBase&) const [with OtherDerived = Eigen::Matrix<float, 3, 1>; Derived = Eigen::AngleAxis; int _Dim = 3; typename Eigen::internal::rotation_base_generic_product_selector<Derived, OtherDerived, OtherDerived:: IsVectorAtCompileTime>::ReturnType = Eigen::Matrix<double, 3, 1>]’ /home/baiyang/src/fcl/test/narrowphase/detail/convexity_based_algorithm/test_gjk_libccd-inl_epa.cpp:242:40: required from here /usr/include/eigen3/Eigen/src/Core/Product.h:122:776: error: no members matching ‘Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0>::Base {aka Eigen::internal::dense_product_base<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0, 3>}::derived’ in ‘Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0>::Base {aka class Eigen::internal::dense_product_base<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0, 3>}’ /usr/include/eigen3/Eigen/src/Core/Product.h:122:797: error: no members matching ‘Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0>::Base {aka Eigen::internal::dense_product_base<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0, 3>}::const_cast_derived’ in ‘Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0>::Base {aka class Eigen::internal::dense_product_base<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0, 3>}’ In file included from /usr/include/eigen3/Eigen/Geometry:40:0, from /usr/include/eigen3/Eigen/Dense:6, from /home/baiyang/src/fcl/include/fcl/common/types.h:46, from /home/baiyang/src/fcl/include/fcl/math/bv/AABB.h:41, from /home/baiyang/src/fcl/include/fcl/geometry/collision_geometry.h:43, from /home/baiyang/src/fcl/include/fcl/geometry/shape/shape_base.h:41, from /home/baiyang/src/fcl/include/fcl/geometry/shape/box.h:41, from /home/baiyang/src/fcl/include/fcl/narrowphase/detail/convexity_based_algorithm/gjk_libccd.h:47, from /home/baiyang/src/fcl/include/fcl/narrowphase/detail/convexity_based_algorithm/gjk_libccd-inl.h:41, from /home/baiyang/src/fcl/test/narrowphase/detail/convexity_based_algorithm/test_gjk_libccd-inl_epa.cpp:42: /usr/include/eigen3/Eigen/src/Geometry/RotationBase.h: In instantiation of ‘Eigen::RotationBase<Derived, _Dim>::VectorType Eigen::RotationBase<Derived, _Dim>::_transformVector(const OtherVectorType&) const [with OtherVectorType = Eigen::Matrix<float, 3, 1>; Derived = Eigen::AngleAxis; int _Dim = 3; Eigen::RotationBase<Derived, _Dim>::VectorType = Eigen::Matrix<double, 3, 1>; typename Eigen::internal::traits::Scalar = double]’: /usr/include/eigen3/Eigen/src/Geometry/RotationBase.h:128:32: required from ‘static Eigen::internal::rotation_base_generic_product_selector<RotationDerived, OtherVectorType, true>::ReturnType Eigen::internal::rotation_base_generic_product_selector<RotationDerived, OtherVectorType, true>::run(const RotationDerived&, const OtherVectorType&) [with RotationDerived = Eigen::AngleAxis; OtherVectorType = Eigen::Matrix<float, 3, 1>; Eigen::internal::rotation_base_generic_product_selector<RotationDerived, OtherVectorType, true>::ReturnType = Eigen::Matrix<double, 3, 1>; typename RotationDerived::Scalar = double]’ /usr/include/eigen3/Eigen/src/Geometry/RotationBase.h:72:89: required from ‘typename Eigen::internal::rotation_base_generic_product_selector<Derived, OtherDerived, OtherDerived:: IsVectorAtCompileTime>::ReturnType Eigen::RotationBase<Derived, _Dim>::operator*(const Eigen::EigenBase&) const [with OtherDerived = Eigen::Matrix<float, 3, 1>; Derived = Eigen::AngleAxis; int _Dim = 3; typename Eigen::internal::rotation_base_generic_product_selector<Derived, OtherDerived, OtherDerived:: IsVectorAtCompileTime>::ReturnType = Eigen::Matrix<double, 3, 1>]’ /home/baiyang/src/fcl/test/narrowphase/detail/convexity_based_algorithm/test_gjk_libccd-inl_epa.cpp:242:40: required from here /usr/include/eigen3/Eigen/src/Geometry/RotationBase.h:94:35: error: could not convert ‘((Eigen::MatrixBase<Eigen::Matrix<double, 3, 3> >)(& Eigen::RotationBase<Derived, _Dim>::toRotationMatrix() const with Derived = Eigen::AngleAxis; int _Dim = 3; Eigen::RotationBase<Derived, _Dim>::RotationMatrixType = Eigen::Matrix<double, 3, 3>; typename Eigen::internal::traits::Scalar = double))->Eigen::MatrixBase::operator<Eigen::Matrix<float, 3, 1> >(((const Eigen::MatrixBase<Eigen::Matrix<float, 3, 1> >)(& v)))’ from ‘const Eigen::Product<Eigen::Matrix<double, 3, 3>, Eigen::Matrix<float, 3, 1>, 0>’ to ‘Eigen::RotationBase<Eigen::AngleAxis, 3>::VectorType {aka Eigen::Matrix<double, 3, 1>}’ { return toRotationMatrix() * v; } ^ In file included from /usr/include/eigen3/Eigen/Core:350:0, from /usr/include/eigen3/Eigen/Dense:1, from /home/baiyang/src/fcl/include/fcl/common/types.h:46, from /home/baiyang/src/fcl/include/fcl/math/bv/AABB.h:41, from /home/baiyang/src/fcl/include/fcl/geometry/collision_geometry.h:43, from /home/baiyang/src/fcl/include/fcl/geometry/shape/shape_base.h:41, from /home/baiyang/src/fcl/include/fcl/geometry/shape/box.h:41, from /home/baiyang/src/fcl/include/fcl/narrowphase/detail/convexity_based_algorithm/gjk_libccd.h:47, from /home/baiyang/src/fcl/include/fcl/narrowphase/detail/convexity_based_algorithm/gjk_libccd-inl.h:41, from /home/baiyang/src/fcl/test/narrowphase/detail/convexity_based_algorithm/test_gjk_libccd-inl_epa.cpp:42: /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<float, 3, 1>; Src = Eigen::Matrix<double, 3, 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<float, 3, 1>; Src = Eigen::Matrix<double, 3, 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<float, 3, 1>; Src = Eigen::Matrix<double, 3, 1>]’ /usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:682:32: required from ‘Derived& Eigen::PlainObjectBase::_set(const Eigen::DenseBase&) [with OtherDerived = Eigen::Matrix<double, 3, 1>; Derived = Eigen::Matrix<float, 3, 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<double, 3, 1>; _Scalar = float; int _Rows = 3; int _Cols = 1; int _Options = 0; int _MaxRows = 3; int _MaxCols = 1]’ /home/baiyang/src/fcl/test/narrowphase/detail/convexity_based_algorithm/test_gjk_libccd-inl_epa.cpp:242:17: required from here /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:745:3: error: static assertion failed: YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY EIGEN_CHECK_BINARY_COMPATIBILIY(Func,typename ActualDstTypeCleaned::Scalar,typename Src::Scalar); ^ test/narrowphase/detail/convexity_based_algorithm/CMakeFiles/test_gjk_libccd-inl_epa.dir/build.make:62: recipe for target 'test/narrowphase/detail/convexity_based_algorithm/CMakeFiles/test_gjk_libccd-inl_epa.dir/test_gjk_libccd-inl_epa.cpp.o' failed make[2]: *** [test/narrowphase/detail/convexity_based_algorithm/CMakeFiles/test_gjk_libccd-inl_epa.dir/test_gjk_libccd-inl_epa.cpp.o] Error 1 CMakeFiles/Makefile2:1701: recipe for target 'test/narrowphase/detail/convexity_based_algorithm/CMakeFiles/test_gjk_libccd-inl_epa.dir/all' failed make[1]: *** [test/narrowphase/detail/convexity_based_algorithm/CMakeFiles/test_gjk_libccd-inl_epa.dir/all] Error 2 Makefile:138: recipe for target 'all' failed make: *** [all] Error 2