Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save lorepieri8/9266b13464e85c2ae5d3625aa5154301 to your computer and use it in GitHub Desktop.
Save lorepieri8/9266b13464e85c2ae5d3625aa5154301 to your computer and use it in GitHub Desktop.
transformToEigen build error
$ colcon build --event-handlers desktop_notification- status- --cmake-args -DCMAKE_BUILD_TYPE=Release
Starting >>> moveit_core
--- stderr: moveit_core
/usr/bin/ld: CMakeFiles/test_distance_field.dir/test/test_distance_field.cpp.o: in function `TestSignedPropagationDistanceField_TestSignedAddRemovePoints_Test::TestBody()':
test_distance_field.cpp:(.text+0x6fa2): undefined reference to `void tf2::fromMsg<geometry_msgs::msg::Pose_<std::allocator<void> >, Eigen::Transform<double, 3, 1, 0> >(geometry_msgs::msg::Pose_<std::allocator<void> > const&, Eigen::Transform<double, 3, 1, 0>&)'
/usr/bin/ld: libmoveit_distance_field.so.2.0.0: undefined reference to `boost::iostreams::zlib::finish'
/usr/bin/ld: libmoveit_distance_field.so.2.0.0: undefined reference to `boost::iostreams::zlib::no_flush'
/usr/bin/ld: libmoveit_distance_field.so.2.0.0: undefined reference to `boost::iostreams::detail::zlib_base::xdeflate(int)'
/usr/bin/ld: libmoveit_distance_field.so.2.0.0: undefined reference to `boost::iostreams::detail::zlib_base::before(char const*&, char const*, char*&, char*)'
/usr/bin/ld: libmoveit_distance_field.so.2.0.0: undefined reference to `boost::iostreams::zlib_error::check(int)'
/usr/bin/ld: libmoveit_distance_field.so.2.0.0: undefined reference to `boost::iostreams::zlib::default_compression'
/usr/bin/ld: libmoveit_distance_field.so.2.0.0: undefined reference to `boost::iostreams::detail::zlib_base::do_init(boost::iostreams::zlib_params const&, bool, void* (*)(void*, unsigned int, unsigned int), void (*)(void*, void*), void*)'
/usr/bin/ld: libmoveit_distance_field.so.2.0.0: undefined reference to `boost::iostreams::zlib::stream_end'
/usr/bin/ld: libmoveit_distance_field.so.2.0.0: undefined reference to `boost::iostreams::detail::zlib_base::zlib_base()'
/usr/bin/ld: libmoveit_distance_field.so.2.0.0: undefined reference to `boost::iostreams::detail::zlib_base::~zlib_base()'
/usr/bin/ld: libmoveit_distance_field.so.2.0.0: undefined reference to `boost::iostreams::detail::zlib_base::after(char const*&, char*&, bool)'
/usr/bin/ld: libmoveit_distance_field.so.2.0.0: undefined reference to `boost::iostreams::zlib::default_strategy'
/usr/bin/ld: libmoveit_distance_field.so.2.0.0: undefined reference to `boost::iostreams::detail::zlib_base::reset(bool, bool)'
/usr/bin/ld: libmoveit_distance_field.so.2.0.0: undefined reference to `boost::iostreams::zlib::sync_flush'
/usr/bin/ld: libmoveit_distance_field.so.2.0.0: undefined reference to `boost::iostreams::detail::zlib_base::xinflate(int)'
/usr/bin/ld: libmoveit_distance_field.so.2.0.0: undefined reference to `boost::iostreams::zlib::deflated'
collect2: error: ld returned 1 exit status
make[2]: *** [distance_field/CMakeFiles/test_distance_field.dir/build.make:225: distance_field/test_distance_field] Error 1
make[1]: *** [CMakeFiles/Makefile2:2580: distance_field/CMakeFiles/test_distance_field.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
/home/lorepieri/ws_moveit2/src/moveit2/moveit_core/transforms/src/transforms.cpp: In member function ‘void moveit::core::Transforms::setTransform(const TransformStamped&)’:
/home/lorepieri/ws_moveit2/src/moveit2/moveit_core/transforms/src/transforms.cpp:140:58: error: no matching function for call to ‘transformToEigen(const TransformStamped&)’
140 | Eigen::Isometry3d t = tf2::transformToEigen(transform);
| ^
In file included from /home/lorepieri/ws_moveit2/src/moveit2/moveit_core/transforms/src/transforms.cpp:39:
/opt/ros/noetic/include/tf2_eigen/tf2_eigen.h:48:20: note: candidate: ‘Eigen::Isometry3d tf2::transformToEigen(const Transform&)’
48 | Eigen::Isometry3d transformToEigen(const geometry_msgs::Transform& t) {
| ^~~~~~~~~~~~~~~~
/opt/ros/noetic/include/tf2_eigen/tf2_eigen.h:48:69: note: no known conversion for argument 1 from ‘const TransformStamped’ {aka ‘const geometry_msgs::msg::TransformStamped_<std::allocator<void> >’} to ‘const Transform&’ {aka ‘const geometry_msgs::Transform_<std::allocator<void> >&’}
48 | Eigen::Isometry3d transformToEigen(const geometry_msgs::Transform& t) {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
/opt/ros/noetic/include/tf2_eigen/tf2_eigen.h:58:19: note: candidate: ‘Eigen::Isometry3d tf2::transformToEigen(const TransformStamped&)’
58 | Eigen::Isometry3d transformToEigen(const geometry_msgs::TransformStamped& t) {
| ^~~~~~~~~~~~~~~~
/opt/ros/noetic/include/tf2_eigen/tf2_eigen.h:58:75: note: no known conversion for argument 1 from ‘const TransformStamped’ {aka ‘const geometry_msgs::msg::TransformStamped_<std::allocator<void> >’} to ‘const TransformStamped&’ {aka ‘const geometry_msgs::TransformStamped_<std::allocator<void> >&’}
58 | Eigen::Isometry3d transformToEigen(const geometry_msgs::TransformStamped& t) {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
/home/lorepieri/ws_moveit2/src/moveit2/moveit_core/transforms/src/transforms.cpp: In member function ‘void moveit::core::Transforms::copyTransforms(std::vector<geometry_msgs::msg::TransformStamped_<std::allocator<void> > >&) const’:
/home/lorepieri/ws_moveit2/src/moveit2/moveit_core/transforms/src/transforms.cpp:162:53: error: no match for ‘operator=’ (operand types are ‘__gnu_cxx::__alloc_traits<std::allocator<geometry_msgs::msg::TransformStamped_<std::allocator<void> > >, geometry_msgs::msg::TransformStamped_<std::allocator<void> > >::value_type’ {aka ‘geometry_msgs::msg::TransformStamped_<std::allocator<void> >’} and ‘geometry_msgs::TransformStamped’ {aka ‘geometry_msgs::TransformStamped_<std::allocator<void> >’})
162 | transforms[i] = tf2::eigenToTransform(it->second);
| ^
In file included from /opt/ros/foxy/include/geometry_msgs/msg/transform_stamped.hpp:7,
from /home/lorepieri/ws_moveit2/src/moveit2/moveit_core/transforms/include/moveit/transforms/transforms.h:39,
from /home/lorepieri/ws_moveit2/src/moveit2/moveit_core/transforms/src/transforms.cpp:37:
/opt/ros/foxy/include/geometry_msgs/msg/detail/transform_stamped__struct.hpp:37:8: note: candidate: ‘geometry_msgs::msg::TransformStamped_<std::allocator<void> >& geometry_msgs::msg::TransformStamped_<std::allocator<void> >::operator=(const geometry_msgs::msg::TransformStamped_<std::allocator<void> >&)’
37 | struct TransformStamped_
| ^~~~~~~~~~~~~~~~~
/opt/ros/foxy/include/geometry_msgs/msg/detail/transform_stamped__struct.hpp:37:8: note: no known conversion for argument 1 from ‘geometry_msgs::TransformStamped’ {aka ‘geometry_msgs::TransformStamped_<std::allocator<void> >’} to ‘const geometry_msgs::msg::TransformStamped_<std::allocator<void> >&’
/opt/ros/foxy/include/geometry_msgs/msg/detail/transform_stamped__struct.hpp:37:8: note: candidate: ‘geometry_msgs::msg::TransformStamped_<std::allocator<void> >& geometry_msgs::msg::TransformStamped_<std::allocator<void> >::operator=(geometry_msgs::msg::TransformStamped_<std::allocator<void> >&&)’
/opt/ros/foxy/include/geometry_msgs/msg/detail/transform_stamped__struct.hpp:37:8: note: no known conversion for argument 1 from ‘geometry_msgs::TransformStamped’ {aka ‘geometry_msgs::TransformStamped_<std::allocator<void> >’} to ‘geometry_msgs::msg::TransformStamped_<std::allocator<void> >&&’
make[2]: *** [transforms/CMakeFiles/moveit_transforms.dir/build.make:63: transforms/CMakeFiles/moveit_transforms.dir/src/transforms.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1639: transforms/CMakeFiles/moveit_transforms.dir/all] Error 2
/usr/bin/ld: ../utils/libmoveit_test_utils.so.2.0.0: undefined reference to `boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)'
/usr/bin/ld: ../utils/libmoveit_test_utils.so.2.0.0: undefined reference to `boost::re_detail_107100::put_mem_block(void*)'
/usr/bin/ld: ../utils/libmoveit_test_utils.so.2.0.0: undefined reference to `boost::re_detail_107100::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)'
/usr/bin/ld: ../utils/libmoveit_test_utils.so.2.0.0: undefined reference to `boost::re_detail_107100::cpp_regex_traits_implementation<char>::transform_primary[abi:cxx11](char const*, char const*) const'
/usr/bin/ld: ../utils/libmoveit_test_utils.so.2.0.0: undefined reference to `boost::re_detail_107100::cpp_regex_traits_implementation<char>::transform[abi:cxx11](char const*, char const*) const'
/usr/bin/ld: ../utils/libmoveit_test_utils.so.2.0.0: undefined reference to `boost::re_detail_107100::get_default_error_string(boost::regex_constants::error_type)'
/usr/bin/ld: ../utils/libmoveit_test_utils.so.2.0.0: undefined reference to `boost::re_detail_107100::raise_runtime_error(std::runtime_error const&)'
/usr/bin/ld: ../utils/libmoveit_test_utils.so.2.0.0: undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)'
/usr/bin/ld: ../utils/libmoveit_test_utils.so.2.0.0: undefined reference to `boost::re_detail_107100::verify_options(unsigned int, boost::regex_constants::_match_flags)'
/usr/bin/ld: ../utils/libmoveit_test_utils.so.2.0.0: undefined reference to `boost::re_detail_107100::get_mem_block()'
/usr/bin/ld: ../utils/libmoveit_test_utils.so.2.0.0: undefined reference to `boost::filesystem::path::operator/=(boost::filesystem::path const&)'
collect2: error: ld returned 1 exit status
make[2]: *** [robot_model/CMakeFiles/test_robot_model.dir/build.make:207: robot_model/test_robot_model] Error 1
make[1]: *** [CMakeFiles/Makefile2:1335: robot_model/CMakeFiles/test_robot_model.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
---
Failed <<< moveit_core [8.22s, exited with code 2]
Summary: 0 packages finished [8.37s]
1 package failed: moveit_core
1 package had stderr output: moveit_core
14 packages not processed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment