Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

no matching function for call to 'fromMsg(geometry_msgs::TransformStamped_<std::allocator<void> >::_transform_type, tf2::Transform&)' tf2::fromMsg(buffer.lookupTransform(targetFrame, sourceFrame, time).transform, targetFrameTrans);

Hello,

I am currently trying to cross compile the robot-localization package for a custom made OS with yocto. I managed to cross compile the other dependencies but I got a problem with this one.

I did 2 modifications in the CMakelists.txt from origin, you can see mine here http://pastebin.com/XYy53Cfs.

I have put these in "if (CATKIN_ENABLE_TESTING)", since it complained about it.

    # Filter base unit tests
    catkin_add_gtest(filter_base-test test/test_filter_base.cpp)
    target_link_libraries(filter_base-test filter_base ${catkin_LIBRARIES})

I then added one before this "if"
target_link_libraries(filter_base ${catkin_LIBRARIES})

During compilation, it stops at 70%. I think there is a problem with the tf2-geometry-msgs library. It is included but the issue is in the fromMsg method.

[ 70%] Building CXX object CMakeFiles/ros_filter_utilities.dir/src/ros_filter_utilities.cpp.o

/home/david/Documents/NEOCORTEX-OS/build/tmp/work/armv6-vfp-poky-linux-gnueabi/robot-localization/2.2.1-r0/robot_localization-2.2.1/src/ros_filter_utilities.cpp: In function 'bool RobotLocalization::RosFilterUtilities::lookupTransformSafe(const tf2_ros::Buffer&, const string&, const string&, const ros::Time&, tf2::Transform&)':

/home/david/Documents/NEOCORTEX-OS/build/tmp/work/armv6-vfp-poky-linux-gnueabi/robot-localization/2.2.1-r0/robot_localization-2.2.1/src/ros_filter_utilities.cpp:80:104: error: no matching function for call to 'fromMsg(geometry_msgs::TransformStamped_<std::allocator<void> >::_transform_type, tf2::Transform&)'
     tf2::fromMsg(buffer.lookupTransform(targetFrame, sourceFrame, time).transform, targetFrameTrans);
                                                                                                    ^
/home/david/Documents/NEOCORTEX-OS/build/tmp/work/armv6-vfp-poky-linux-gnueabi/robot-localization/2.2.1-r0/robot_localization-2.2.1/src/ros_filter_utilities.cpp:80:104: note: candidates are:
In file included from /home/david/Documents/NEOCORTEX-OS/build/tmp/work/armv6-vfp-poky-linux-gnueabi/robot-localization/2.2.1-r0/robot_localization-2.2.1/src/ros_filter_utilities.cpp:36:0:

/home/david/Documents/NEOCORTEX-OS/build/tmp/sysroots/raspberrypi/opt/ros/hydro/include/tf2_geometry_msgs
/tf2_geometry_msgs.h:80:6: note: void tf2::fromMsg(const Vector3Stamped&, geometry_msgs::Vector3Stamped&) 

void fromMsg(const geometry_msgs::Vector3Stamped& msg, geometry_msgs::Vector3Stamped& out)
  ^
/home/david/Documents/NEOCORTEX-OS/build/tmp/sysroots/raspberrypi/opt/ros/hydro/include/tf2_geometry_msgs/tf2_geometry_msgs.h:80:6: note:   no known conversion for argument 1 

             from 'geometry_msgs::TransformStamped_<std::allocator<void> >::_transform_type {aka geometry_msgs::Transform_<std::allocator<void> >}' to 'const Vector3Stamped& {aka const geometry_msgs::Vector3Stamped_<std::allocator<void> >&}'

/home/david/Documents/NEOCORTEX-OS/build/tmp/sysroots/raspberrypi/opt/ros/hydro/include/tf2_geometry_msgs/tf2_geometry_msgs.h:115:6: note: void tf2::fromMsg(const PointStamped&, geometry_msgs::PointStamped&)

void fromMsg(const geometry_msgs::PointStamped& msg, geometry_msgs::PointStamped& out)
  ^

[...]

make[2]: *** [CMakeFiles/ros_filter_utilities.dir/src/ros_filter_utilities.cpp.o] Error 1
make[2]: Leaving directory `/home/david/Documents/NEOCORTEX-OS/build/tmp/work/armv6-vfp-poky-linux-gnueabi/robot-localization/2.2.1-r0/build'
make[1]: *** [CMakeFiles/ros_filter_utilities.dir/all] Error 2
make[1]: Leaving directory `/home/david/Documents/NEOCORTEX-OS/build/tmp/work/armv6-vfp-poky-linux-gnueabi/robot-localization/2.2.1-r0/build'
make: *** [all] Error 2
ERROR: oe_runmake failed
WARNING: exit code 1 from a shell command.

Thanks

no matching function for call to 'fromMsg(geometry_msgs::TransformStamped_<std::allocator<void> >::_transform_type, tf2::Transform&)' tf2::fromMsg(buffer.lookupTransform(targetFrame, sourceFrame, time).transform, targetFrameTrans);

Hello,

I am currently trying to cross compile the robot-localization package for a custom made OS with yocto. I managed to cross compile the other dependencies but I got a problem with this one.

I did 2 modifications in the CMakelists.txt from origin, you can see mine here http://pastebin.com/XYy53Cfs.

I have put these in "if (CATKIN_ENABLE_TESTING)", since it complained about it.

    # Filter base unit tests
    catkin_add_gtest(filter_base-test test/test_filter_base.cpp)
    target_link_libraries(filter_base-test filter_base ${catkin_LIBRARIES})

I then added one before this "if"
target_link_libraries(filter_base ${catkin_LIBRARIES})

During compilation, it stops at 70%. I think there is a problem with the tf2-geometry-msgs library. It is included but the issue is in the fromMsg method.

[ 70%] Building CXX object CMakeFiles/ros_filter_utilities.dir/src/ros_filter_utilities.cpp.o

/home/david/Documents/NEOCORTEX-OS/build/tmp/work/armv6-vfp-poky-linux-gnueabi/robot-localization/2.2.1-r0/robot_localization-2.2.1/src/ros_filter_utilities.cpp: In function 'bool RobotLocalization::RosFilterUtilities::lookupTransformSafe(const tf2_ros::Buffer&, const string&, const string&, const ros::Time&, tf2::Transform&)':

/home/david/Documents/NEOCORTEX-OS/build/tmp/work/armv6-vfp-poky-linux-gnueabi/robot-localization/2.2.1-r0/robot_localization-2.2.1/src/ros_filter_utilities.cpp:80:104: error: no matching function for call to 'fromMsg(geometry_msgs::TransformStamped_<std::allocator<void> >::_transform_type, tf2::Transform&)'
     tf2::fromMsg(buffer.lookupTransform(targetFrame, sourceFrame, time).transform, targetFrameTrans);
                                                                                                    ^
/home/david/Documents/NEOCORTEX-OS/build/tmp/work/armv6-vfp-poky-linux-gnueabi/robot-localization/2.2.1-r0/robot_localization-2.2.1/src/ros_filter_utilities.cpp:80:104: note: candidates are:
In file included from /home/david/Documents/NEOCORTEX-OS/build/tmp/work/armv6-vfp-poky-linux-gnueabi/robot-localization/2.2.1-r0/robot_localization-2.2.1/src/ros_filter_utilities.cpp:36:0:

/home/david/Documents/NEOCORTEX-OS/build/tmp/sysroots/raspberrypi/opt/ros/hydro/include/tf2_geometry_msgs
/tf2_geometry_msgs.h:80:6: note: void tf2::fromMsg(const Vector3Stamped&, geometry_msgs::Vector3Stamped&) 

void fromMsg(const geometry_msgs::Vector3Stamped& msg, geometry_msgs::Vector3Stamped& out)
  ^
/home/david/Documents/NEOCORTEX-OS/build/tmp/sysroots/raspberrypi/opt/ros/hydro/include/tf2_geometry_msgs/tf2_geometry_msgs.h:80:6: note:   no known conversion for argument 1 

             from 'geometry_msgs::TransformStamped_<std::allocator<void> >::_transform_type {aka geometry_msgs::Transform_<std::allocator<void> >}' to 'const Vector3Stamped& {aka const geometry_msgs::Vector3Stamped_<std::allocator<void> >&}'

/home/david/Documents/NEOCORTEX-OS/build/tmp/sysroots/raspberrypi/opt/ros/hydro/include/tf2_geometry_msgs/tf2_geometry_msgs.h:115:6: note: void tf2::fromMsg(const PointStamped&, geometry_msgs::PointStamped&)

void fromMsg(const geometry_msgs::PointStamped& msg, geometry_msgs::PointStamped& out)
  ^

[...]

make[2]: *** [CMakeFiles/ros_filter_utilities.dir/src/ros_filter_utilities.cpp.o] Error 1
make[2]: Leaving directory `/home/david/Documents/NEOCORTEX-OS/build/tmp/work/armv6-vfp-poky-linux-gnueabi/robot-localization/2.2.1-r0/build'
make[1]: *** [CMakeFiles/ros_filter_utilities.dir/all] Error 2
make[1]: Leaving directory `/home/david/Documents/NEOCORTEX-OS/build/tmp/work/armv6-vfp-poky-linux-gnueabi/robot-localization/2.2.1-r0/build'
make: *** [all] Error 2
ERROR: oe_runmake failed
WARNING: exit code 1 from a shell command.

In the file

try
{
 tf2::fromMsg(buffer.lookupTransform(targetFrame, sourceFrame, time).transform, targetFrameTrans);
}

Thanks

no matching function for call to 'fromMsg(geometry_msgs::TransformStamped_<std::allocator<void> >::_transform_type, tf2::Transform&)' tf2::fromMsg(buffer.lookupTransform(targetFrame, sourceFrame, time).transform, targetFrameTrans);

Hello,

I am currently trying to cross compile the robot-localization package for a custom made OS with yocto. I managed to cross compile the other dependencies but I got a problem with this one.

I did 2 modifications in the CMakelists.txt from origin, you can see mine here http://pastebin.com/XYy53Cfs.

During compilation, it stops at 70%. I think there is a problem with the tf2-geometry-msgs library. It is included but the issue is in the fromMsg method.

[ 70%] Building CXX object CMakeFiles/ros_filter_utilities.dir/src/ros_filter_utilities.cpp.o

/home/david/Documents/NEOCORTEX-OS/build/tmp/work/armv6-vfp-poky-linux-gnueabi/robot-localization/2.2.1-r0/robot_localization-2.2.1/src/ros_filter_utilities.cpp: In function 'bool RobotLocalization::RosFilterUtilities::lookupTransformSafe(const tf2_ros::Buffer&, const string&, const string&, const ros::Time&, tf2::Transform&)':

/home/david/Documents/NEOCORTEX-OS/build/tmp/work/armv6-vfp-poky-linux-gnueabi/robot-localization/2.2.1-r0/robot_localization-2.2.1/src/ros_filter_utilities.cpp:80:104: error: no matching function for call to 'fromMsg(geometry_msgs::TransformStamped_<std::allocator<void> >::_transform_type, tf2::Transform&)'
     tf2::fromMsg(buffer.lookupTransform(targetFrame, sourceFrame, time).transform, targetFrameTrans);
                                                                                                    ^
/home/david/Documents/NEOCORTEX-OS/build/tmp/work/armv6-vfp-poky-linux-gnueabi/robot-localization/2.2.1-r0/robot_localization-2.2.1/src/ros_filter_utilities.cpp:80:104: note: candidates are:
In file included from /home/david/Documents/NEOCORTEX-OS/build/tmp/work/armv6-vfp-poky-linux-gnueabi/robot-localization/2.2.1-r0/robot_localization-2.2.1/src/ros_filter_utilities.cpp:36:0:

[...]

make: *** [all] Error 2
ERROR: oe_runmake failed
WARNING: exit code 1 from a shell command.

In the cpp file

try
{
 tf2::fromMsg(buffer.lookupTransform(targetFrame, sourceFrame, time).transform, targetFrameTrans);
}

Thanks

no matching function for call to 'fromMsg(geometry_msgs::TransformStamped_<std::allocator<void> >::_transform_type, tf2::Transform&)' tf2::fromMsg(buffer.lookupTransform(targetFrame, sourceFrame, time).transform, targetFrameTrans);

Hello,

I am currently trying to cross compile the robot-localization package for a custom made OS with yocto. I managed to cross compile the other dependencies but I got a problem with this one.

I did 2 modifications in the CMakelists.txt from origin, you can see mine here http://pastebin.com/XYy53Cfs.

During compilation, it stops at 70%. I think there is a problem with the tf2-geometry-msgs library. It is included but the issue is in the fromMsg method.

[ 70%] Building CXX object CMakeFiles/ros_filter_utilities.dir/src/ros_filter_utilities.cpp.o

/home/david/Documents/NEOCORTEX-OS/build/tmp/work/armv6-vfp-poky-linux-gnueabi/robot-localization/2.2.1-r0/robot_localization-2.2.1/src/ros_filter_utilities.cpp: In function 'bool RobotLocalization::RosFilterUtilities::lookupTransformSafe(const tf2_ros::Buffer&, const string&, const string&, const ros::Time&, tf2::Transform&)':

/home/david/Documents/NEOCORTEX-OS/build/tmp/work/armv6-vfp-poky-linux-gnueabi/robot-localization/2.2.1-r0/robot_localization-2.2.1/src/ros_filter_utilities.cpp:80:104: error: no matching function for call to 'fromMsg(geometry_msgs::TransformStamped_<std::allocator<void> >::_transform_type, tf2::Transform&)'
     tf2::fromMsg(buffer.lookupTransform(targetFrame, sourceFrame, time).transform, targetFrameTrans);
                                                                                                    ^
/home/david/Documents/NEOCORTEX-OS/build/tmp/work/armv6-vfp-poky-linux-gnueabi/robot-localization/2.2.1-r0/robot_localization-2.2.1/src/ros_filter_utilities.cpp:80:104: note: candidates are:
In file included from /home/david/Documents/NEOCORTEX-OS/build/tmp/work/armv6-vfp-poky-linux-gnueabi/robot-localization/2.2.1-r0/robot_localization-2.2.1/src/ros_filter_utilities.cpp:36:0:

[...]

make: *** [all] Error 2
ERROR: oe_runmake failed
WARNING: exit code 1 from a shell command.

In the cpp file

try
{
 tf2::fromMsg(buffer.lookupTransform(targetFrame, sourceFrame, time).transform, targetFrameTrans);
}

Thanks