Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error when compiling "fcl" #1

Open
BreederBai opened this issue Nov 15, 2018 · 5 comments
Open

Error when compiling "fcl" #1

BreederBai opened this issue Nov 15, 2018 · 5 comments
Assignees

Comments

@BreederBai
Copy link

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

@ayushgaud
Copy link
Collaborator

I have updated the readme to first install other dependencies. Could you please try that once. If there are still issues please let me know. Also, please share your platform details too. I have tested this on Ubuntu 16.04 as well as 18.04 both using master branches for both libccd and fcl.

@ayushgaud ayushgaud self-assigned this Nov 15, 2018
@BreederBai
Copy link
Author

@ayushgaud I am using ubuntu 16.04 and the GCC version is 5.4. Through my attempt, it should be that the compiler I am using is older.This is my link to solve this problem.https://github.com/flexible-collision-library/fcl/issues/349.
I am very happy to hear from you. I am interested in what you have done. I am looking forward to the obstacle avoidance function that can be implemented in Ardupilot Copter. If you don't mind, can you share the progress of the current obstacle avoidance work?
My English is very poor, I hope I have not offended you.

@ayushgaud
Copy link
Collaborator

You may read the blog posts 1 and 2 as a starting point. If you have any further questions please let me know.

@Awesome1995
Copy link

Awesome1995 commented Nov 16, 2018

@BreederBai hello! I have encountered a similar problem with you, perhaps because of the libccd library. My solution is:
git clone https://github.com/danfis/libccd cd libccd mkdir build && cd build cmake -G "Unix Makefiles" -DBUILD_SHARED_LIBS=ON -DENABLE_DOUBLE_PRECISION=ON .. make && sudo make install.
Just add the option -DENABLE_DOUBLE_PRECISION=ON, and problem is solved. You can have a try, best luck!

@BreederBai
Copy link
Author

@Awesome1995 thank you for your help.Now flexible-collision-library/fcl has made some changes,which can be compiled according to the previous compilation method.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants