You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi,
Would it be possible to create a branch of the package for the Ros-Kinetic distribution?
There is an issue with the eigen library. First it requires some changes in the CMakelists.txt file, as explained in here: ros/cmake_modules#25
But then, there is still an issue with some static assertions when compiling:
In file included from /usr/include/eigen3/Eigen/Core:297:0, from /usr/include/eigen3/Eigen/Dense:1, from /home/rb1/catkin_ws/src/sources/external/plane_calibration/include/plane_calibration/plane_to_depth_image.hpp:4, from /home/rb1/catkin_ws/src/sources/external/plane_calibration/src/plane_to_depth_image.cpp:1: /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, -1, -1>; Src = Eigen::CwiseUnaryOp<plane_calibration::PlaneToDepthImage::getErrors(const Affine3d&, const plane_calibration::CameraModel::Parameters&, Eigen::MatrixXf)::<lambda(float)>, const Eigen::Matrix<float, -1, -1> >; Func = Eigen::internal::assign_op<float>]’: /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<Src>::value), void*>::type) [with Dst = Eigen::Matrix<float, -1, -1>; Src = Eigen::CwiseUnaryOp<plane_calibration::PlaneToDepthImage::getErrors(const Affine3d&, const plane_calibration::CameraModel::Parameters&, Eigen::MatrixXf)::<lambda(float)>, const Eigen::Matrix<float, -1, -1> >; Func = Eigen::internal::assign_op<float>; typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing<Src>::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, -1, -1>; Src = Eigen::CwiseUnaryOp<plane_calibration::PlaneToDepthImage::getErrors(const Affine3d&, const plane_calibration::CameraModel::Parameters&, Eigen::MatrixXf)::<lambda(float)>, const Eigen::Matrix<float, -1, -1> >]’ /usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:682:32: required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::CwiseUnaryOp<plane_calibration::PlaneToDepthImage::getErrors(const Affine3d&, const plane_calibration::CameraModel::Parameters&, Eigen::MatrixXf)::<lambda(float)>, const Eigen::Matrix<float, -1, -1> >; Derived = Eigen::Matrix<float, -1, -1>]’ /usr/include/eigen3/Eigen/src/Core/Matrix.h:225:24: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::CwiseUnaryOp<plane_calibration::PlaneToDepthImage::getErrors(const Affine3d&, const plane_calibration::CameraModel::Parameters&, Eigen::MatrixXf)::<lambda(float)>, const Eigen::Matrix<float, -1, -1> >; _Scalar = float; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’ /home/rb1/catkin_ws/src/sources/external/plane_calibration/src/plane_to_depth_image.cpp:91:14: required from here /usr/include/eigen3/Eigen/src/Core/util/StaticAssert.h:32:40: error: static assertion failed: YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY #define EIGEN_STATIC_ASSERT(X,MSG) static_assert(X,#MSG); ^ /usr/include/eigen3/Eigen/src/Core/util/XprHelper.h:707:3: note: in expansion of macro ‘EIGEN_STATIC_ASSERT’ EIGEN_STATIC_ASSERT((internal::functor_is_product_like<BINOP>::ret \ ^ /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:745:3: note: in expansion of macro ‘EIGEN_CHECK_BINARY_COMPATIBILIY’ EIGEN_CHECK_BINARY_COMPATIBILIY(Func,typename ActualDstTypeCleaned::Scalar,typename Src::Scalar); ^ sources/external/plane_calibration/src/CMakeFiles/plane_calibration.dir/build.make:62: recipe for target 'sources/external/plane_calibration/src/CMakeFiles/plane_calibration.dir/plane_to_depth_image.cpp.o' failed make[2]: *** [sources/external/plane_calibration/src/CMakeFiles/plane_calibration.dir/plane_to_depth_image.cpp.o] Error 1 CMakeFiles/Makefile2:2236: recipe for target 'sources/external/plane_calibration/src/CMakeFiles/plane_calibration.dir/all' failed make[1]: *** [sources/external/plane_calibration/src/CMakeFiles/plane_calibration.dir/all] Error 2 Makefile:138: recipe for target 'all' failed make: *** [all] Error 2 Invoking "make -j4 -l4" failed
Any idea on how to solve it?
Thank you
The text was updated successfully, but these errors were encountered:
Hi,
Would it be possible to create a branch of the package for the Ros-Kinetic distribution?
There is an issue with the eigen library. First it requires some changes in the CMakelists.txt file, as explained in here: ros/cmake_modules#25
But then, there is still an issue with some static assertions when compiling:
In file included from /usr/include/eigen3/Eigen/Core:297:0, from /usr/include/eigen3/Eigen/Dense:1, from /home/rb1/catkin_ws/src/sources/external/plane_calibration/include/plane_calibration/plane_to_depth_image.hpp:4, from /home/rb1/catkin_ws/src/sources/external/plane_calibration/src/plane_to_depth_image.cpp:1: /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, -1, -1>; Src = Eigen::CwiseUnaryOp<plane_calibration::PlaneToDepthImage::getErrors(const Affine3d&, const plane_calibration::CameraModel::Parameters&, Eigen::MatrixXf)::<lambda(float)>, const Eigen::Matrix<float, -1, -1> >; Func = Eigen::internal::assign_op<float>]’: /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<Src>::value), void*>::type) [with Dst = Eigen::Matrix<float, -1, -1>; Src = Eigen::CwiseUnaryOp<plane_calibration::PlaneToDepthImage::getErrors(const Affine3d&, const plane_calibration::CameraModel::Parameters&, Eigen::MatrixXf)::<lambda(float)>, const Eigen::Matrix<float, -1, -1> >; Func = Eigen::internal::assign_op<float>; typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing<Src>::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, -1, -1>; Src = Eigen::CwiseUnaryOp<plane_calibration::PlaneToDepthImage::getErrors(const Affine3d&, const plane_calibration::CameraModel::Parameters&, Eigen::MatrixXf)::<lambda(float)>, const Eigen::Matrix<float, -1, -1> >]’ /usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:682:32: required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::CwiseUnaryOp<plane_calibration::PlaneToDepthImage::getErrors(const Affine3d&, const plane_calibration::CameraModel::Parameters&, Eigen::MatrixXf)::<lambda(float)>, const Eigen::Matrix<float, -1, -1> >; Derived = Eigen::Matrix<float, -1, -1>]’ /usr/include/eigen3/Eigen/src/Core/Matrix.h:225:24: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::CwiseUnaryOp<plane_calibration::PlaneToDepthImage::getErrors(const Affine3d&, const plane_calibration::CameraModel::Parameters&, Eigen::MatrixXf)::<lambda(float)>, const Eigen::Matrix<float, -1, -1> >; _Scalar = float; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’ /home/rb1/catkin_ws/src/sources/external/plane_calibration/src/plane_to_depth_image.cpp:91:14: required from here /usr/include/eigen3/Eigen/src/Core/util/StaticAssert.h:32:40: error: static assertion failed: YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY #define EIGEN_STATIC_ASSERT(X,MSG) static_assert(X,#MSG); ^ /usr/include/eigen3/Eigen/src/Core/util/XprHelper.h:707:3: note: in expansion of macro ‘EIGEN_STATIC_ASSERT’ EIGEN_STATIC_ASSERT((internal::functor_is_product_like<BINOP>::ret \ ^ /usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:745:3: note: in expansion of macro ‘EIGEN_CHECK_BINARY_COMPATIBILIY’ EIGEN_CHECK_BINARY_COMPATIBILIY(Func,typename ActualDstTypeCleaned::Scalar,typename Src::Scalar); ^ sources/external/plane_calibration/src/CMakeFiles/plane_calibration.dir/build.make:62: recipe for target 'sources/external/plane_calibration/src/CMakeFiles/plane_calibration.dir/plane_to_depth_image.cpp.o' failed make[2]: *** [sources/external/plane_calibration/src/CMakeFiles/plane_calibration.dir/plane_to_depth_image.cpp.o] Error 1 CMakeFiles/Makefile2:2236: recipe for target 'sources/external/plane_calibration/src/CMakeFiles/plane_calibration.dir/all' failed make[1]: *** [sources/external/plane_calibration/src/CMakeFiles/plane_calibration.dir/all] Error 2 Makefile:138: recipe for target 'all' failed make: *** [all] Error 2 Invoking "make -j4 -l4" failed
Any idea on how to solve it?
Thank you
The text was updated successfully, but these errors were encountered: