ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

MoveIt_tutorials can't be catkin built by Eigen3

asked 2019-04-16 21:19:47 -0600

mengzhilinxi gravatar image

updated 2019-04-16 21:47:27 -0600

jayess gravatar image

I met a problrm that Movtit_tutorials can't be catkin built by Eigen3. And the sanme issues occurs with Aubo packages can't be catkin built by Eigen3. My ROS system is Kinetic, and the Eigen3 version is 3.3~beta 1-2. From the error log file, I think the version of Moveit_tutorials is not compatible with the version of Eigen3. Because the error log file shows the problem is from Eigen::transform() function. Furthermore, I check the tranform.h file from Eigen3 lib, the Eigen::Transform() function is forbidden to use, because this function may cause error. But the error log file show that the movtit_tutorial have call the Eigen::transform() function, so it make a mistake. And the following is the error log file.


Errors     << moveit_tutorials:make /home/menghui/ws_moveit/logs/moveit_tutorials/build.make.010.log
In file included from /usr/include/eigen3/Eigen/Core:142:0,
                 from /usr/include/eigen3/Eigen/Geometry:11,
                 from /opt/ros/kinetic/include/moveit/robot_model/joint_model.h:47,
                 from /opt/ros/kinetic/include/moveit/robot_model/joint_model_group.h:41,
                 from /opt/ros/kinetic/include/moveit/robot_model/robot_model.h:47,
                 from /opt/ros/kinetic/include/moveit/robot_model_loader/robot_model_loader.h:41,
                 from /home/menghui/ws_moveit/src/moveit_tutorials/doc/robot_model_and_robot_state/src/robot_model_and_robot_state_tutorial.cpp:40:
/usr/include/eigen3/Eigen/src/Geometry/Transform.h: In instantiation of ‘Eigen::Transform<Scalar, Dim, Mode, _Options>::Transform(const Eigen::Transform<_Scalar, Dim, OtherMode, OtherOptions>&) [with int OtherMode = 2; int OtherOptions = 0; _Scalar = double; int _Dim = 3; int _Mode = 1; int _Options = 0]’:
/home/menghui/ws_moveit/src/moveit_tutorials/doc/robot_model_and_robot_state/src/robot_model_and_robot_state_tutorial.cpp:118:102:   required from here
/usr/include/eigen3/Eigen/src/Core/util/StaticAssert.h:33:40: error: static assertion failed: YOU_PERFORMED_AN_INVALID_TRANSFORMATION_CONVERSION
     #define EIGEN_STATIC_ASSERT(X,MSG) static_assert(X,#MSG);
                                        ^
/usr/include/eigen3/Eigen/src/Geometry/Transform.h:334:5: note: in expansion of macro ‘EIGEN_STATIC_ASSERT’
     EIGEN_STATIC_ASSERT(EIGEN_IMPLIES(OtherMode==int(Affine)||OtherMode==int(AffineCompact), Mode!=int(Isometry)),
     ^
In file included from /usr/include/eigen3/Eigen/Core:142:0,
                 from /usr/include/eigen3/Eigen/Geometry:11,
                 from /opt/ros/kinetic/include/moveit/robot_model/joint_model.h:47,
                 from /opt/ros/kinetic/include/moveit/robot_model/joint_model_group.h:41,
                 from /opt/ros/kinetic/include/moveit/robot_model/robot_model.h:47,
                 from /opt/ros/kinetic/include/moveit/robot_model_loader/robot_model_loader.h:41,
                 from /home/menghui/ws_moveit/src/moveit_tutorials/doc/interactivity/include/interactivity/interactive_robot.h:43,
                 from /home/menghui/ws_moveit/src/moveit_tutorials/doc/interactivity/src/interactive_robot.cpp:39:
/usr/include/eigen3/Eigen/src/Geometry/Transform.h: In instantiation of ‘Eigen::Transform<Scalar, Dim, Mode, _Options>::Transform(const Eigen::Transform<_Scalar, Dim, OtherMode, OtherOptions>&) [with int OtherMode = 2; int OtherOptions = 0; _Scalar = double; int _Dim = 3; int _Mode = 1; int _Options = 0]’:
/home/menghui/ws_moveit/src/moveit_tutorials/doc/interactivity/src/interactive_robot.cpp:93:32:   required from here
/usr/include/eigen3/Eigen/src/Core/util/StaticAssert.h:33:40: error: static assertion failed: YOU_PERFORMED_AN_INVALID_TRANSFORMATION_CONVERSION
     #define EIGEN_STATIC_ASSERT(X,MSG) static_assert(X,#MSG);
                                        ^
/usr/include/eigen3/Eigen/src/Geometry/Transform.h:334:5: note: in expansion of macro ‘EIGEN_STATIC_ASSERT’
     EIGEN_STATIC_ASSERT(EIGEN_IMPLIES(OtherMode==int ...
(more)
edit retag flag offensive close merge delete

Comments

1
gvdhoorn gravatar image gvdhoorn  ( 2019-04-17 03:32:44 -0600 )edit

1 Answer

Sort by » oldest newest most voted
0

answered 2019-04-22 14:02:45 -0600

mlautman gravatar image

1) As best as I can tell, you are building the master branch of the tutorials when you should be building the kinetic-devel branch.

2)

And in the past I have use the command "sudo apt-get install libeigen3-dev" to install Eigen3 lib

You should not be doing this manually. the rosdep install command should take care of installing all dependencies for you.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2019-04-16 21:19:47 -0600

Seen: 1,086 times

Last updated: Apr 22 '19