ros / geometry2

A set of ROS packages for keeping track of coordinate transforms.
190 stars 275 forks source link

error: no matching function for call to ‘toMsg(const Eigen::Transform<double, 3, 1>&)’ #512

Closed knorth55 closed 3 years ago

knorth55 commented 3 years ago

moveit melodic-devel fails with follwing error with latest geometry2 melodic-devel.

geometry2: melodic-devel moveit: melodic-devel

Errors     << pilz_industrial_motion_planner:make /home/knorth55/ros/moveit_ws/logs/pilz_industrial_motion_planner/build.make.003.log
In file included from /opt/ros/melodic/include/tf2/convert.h:36:0,
                 from /home/knorth55/ros/moveit_ws/src/ros-planning/moveit/moveit_planners/pilz_industrial_motion_planner/test/test_utils.cpp:39:
/opt/ros/melodic/include/tf2/impl/convert.h: In instantiation of ‘static void tf2::impl::Converter<IS_MESSAGE_A, IS_MESSAGE_B>::convert(const A&, B&) [with A = Eigen::Transform<double, 3, 1>; B = geometry_msgs::Pose_<std::allocator<void> >; bool IS_MESSAGE_A = false; bool IS_MESSAGE_B = true]’:
/opt/ros/melodic/include/tf2/convert.h:51:113:   required from ‘void tf2::convert(const A&, B&) [with A = Eigen::Transform<double, 3, 1>; B = geometry_msgs::Pose_<std::allocator<void> >]’
/home/knorth55/ros/moveit_ws/src/ros-planning/moveit/moveit_planners/pilz_industrial_motion_planner/test/test_utils.cpp:556:72:   required from here
/opt/ros/melodic/include/tf2/impl/convert.h:65:12: error: no matching function for call to ‘toMsg(const Eigen::Transform<double, 3, 1>&)’
   b = toMsg(a);
       ~~~~~^~~
In file included from /opt/ros/melodic/include/tf2/convert.h:35:0,
                 from /home/knorth55/ros/moveit_ws/src/ros-planning/moveit/moveit_planners/pilz_industrial_motion_planner/test/test_utils.cpp:39:
/opt/ros/melodic/include/tf2/transform_functions.h:90:5: note: candidate: template<class A, class B> B tf2::toMsg(const A&)
   B toMsg(const A& a);
     ^~~~~
/opt/ros/melodic/include/tf2/transform_functions.h:90:5: note:   template argument deduction/substitution failed:
In file included from /opt/ros/melodic/include/tf2/convert.h:36:0,
                 from /home/knorth55/ros/moveit_ws/src/ros-planning/moveit/moveit_planners/pilz_industrial_motion_planner/test/test_utils.cpp:39:
/opt/ros/melodic/include/tf2/impl/convert.h:65:12: note:   couldn't deduce template parameter ‘B’
   b = toMsg(a);
       ~~~~~^~~
make[2]: *** [CMakeFiles/pilz_industrial_motion_planner_testhelpers.dir/test/test_utils.cpp.o] Error 1
make[1]: *** [CMakeFiles/pilz_industrial_motion_planner_testhelpers.dir/all] Error 2
make: *** [all] Error 2
cd /home/knorth55/ros/moveit_ws/build/pilz_industrial_motion_planner; catkin build --get-env pilz_industrial_motion_planner | catkin env -si  /usr/bin/make --jobserver-fds=6,7 -j; cd -
...........................................................................................
knorth55 commented 3 years ago

Now I clean up all workspace and rebuild it, and the error disappered... It's a pretty wierd error, but I close this issue.