AcutronicRobotics / moveit2

The MoveIt 2 Motion Planning Framework for ROS 2.0
BSD 3-Clause "New" or "Revised" License
54 stars 17 forks source link

moveit_ros_move_group linking issues in OS X #110

Open vmayoral opened 5 years ago

vmayoral commented 5 years ago

Description

clear_octomap_service_capability.cpp has linking issues as follows:

colcon build --merge-install --cmake-args -DOpenMP_C_LIB_NAMES="omp" -DOpenMP_CXX_LIB_NAMES="omp" -DOpenMP_C_FLAGS="-Xpreprocessor -fopenmp -lomp -I/usr/local/opt/libomp/include" -DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp -lomp -I/usr/local/opt/libomp/include" -DOpenMP_omp_LIBRARY="/usr/local/opt/libomp/lib/libomp.dylib" --packages-select moveit_ros_move_group
Starting >>> moveit_ros_move_group
--- stderr: moveit_ros_move_group
Undefined symbols for architecture x86_64:
  "rosidl_service_type_support_t const* rosidl_typesupport_cpp::get_service_type_support_handle<std_srvs::srv::Empty>()", referenced from:
      rclcpp::Service<std_srvs::srv::Empty>::Service(std::__1::shared_ptr<rcl_node_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, rclcpp::AnyServiceCallback<std_srvs::srv::Empty>, rcl_service_options_t&) in clear_octomap_service_capability.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [libmoveit_move_group_default_capabilities.dylib] Error 1
make[1]: *** [CMakeFiles/moveit_move_group_default_capabilities.dir/all] Error 2
make: *** [all] Error 2
---
Failed   <<< moveit_ros_move_group  [ Exited with code 2 ]
vmayoral commented 5 years ago

Note that https://github.com/AcutronicRobotics/moveit2/commit/76779cbc49ad6008a6cb2af3444084bf261c70ff doesn't fix this issue.

https://github.com/AcutronicRobotics/moveit2/commit/76779cbc49ad6008a6cb2af3444084bf261c70ff#diff-dd7dfc1cf58d83ff2910b0f4fa1702beR63 is redundant. Something's missing here.