eProsima / Integration-Service

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Error during compilation of soss-ros2-test

youliangtan opened this issue · comments

Hi, I faced an issue during compilation of soss-ros2-test, Ros melodic and Ros2 dashing is being used.The printout msg is as followed:

--- stderr: soss-ros2-test                                 
CMakeFiles/soss-ros2-test.dir/integration/ros2__geometry_msgs.cpp.o: In function `rclcpp::create_subscription_factory<geometry_msgs::msg::Pose_<std::allocator<void> >, ____C_A_T_C_H____T_E_S_T____0()::{lambda(std::unique_ptr<geometry_msgs::msg::Pose_<std::allocator<void> >, std::default_delete<geometry_msgs::msg::Pose_<std::allocator<void> > > >)#2}&, std::allocator<void>, geometry_msgs::msg::Pose_<std::allocator<void> >, rclcpp::Subscription<geometry_msgs::msg::Pose_<std::allocator<void> >, std::allocator<void> > >(____C_A_T_C_H____T_E_S_T____0()::{lambda(std::unique_ptr<geometry_msgs::msg::Pose_<std::allocator<void> >, std::default_delete<geometry_msgs::msg::Pose_<std::allocator<void> > > >)#2}&, rclcpp::SubscriptionEventCallbacks const&, rclcpp::message_memory_strategy::MessageMemoryStrategy<geometry_msgs::msg::Pose_<std::allocator<void> >, std::allocator<void> >::SharedPtr, std::shared_ptr<geometry_msgs::msg::Pose_<std::allocator<void> > >)::{lambda(rclcpp::node_interfaces::NodeBaseInterface*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rcl_subscription_options_t const&)#1}::operator()(rclcpp::node_interfaces::NodeBaseInterface, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, rcl_subscription_options_t const) const':
ros2__geometry_msgs.cpp:(.text+0x7f91): undefined reference to `rosidl_message_type_support_t const* rosidl_typesupport_cpp::get_message_type_support_handle<geometry_msgs::msg::Pose_<std::allocator<void> > >()'
CMakeFiles/soss-ros2-test.dir/integration/ros2__geometry_msgs.cpp.o: In function `rclcpp::Client<nav_msgs::srv::GetPlan>::Client(rclcpp::node_interfaces::NodeBaseInterface*, std::shared_ptr<rclcpp::node_interfaces::NodeGraphInterface>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rcl_client_options_t&)':
ros2__geometry_msgs.cpp:(.text._ZN6rclcpp6ClientIN8nav_msgs3srv7GetPlanEEC2EPNS_15node_interfaces17NodeBaseInterfaceESt10shared_ptrINS5_18NodeGraphInterfaceEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER20rcl_client_options_t[_ZN6rclcpp6ClientIN8nav_msgs3srv7GetPlanEEC5EPNS_15node_interfaces17NodeBaseInterfaceESt10shared_ptrINS5_18NodeGraphInterfaceEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER20rcl_client_options_t]+0xc0): undefined reference to `rosidl_service_type_support_t const* rosidl_typesupport_cpp::get_service_type_support_handle<nav_msgs::srv::GetPlan>()'
CMakeFiles/soss-ros2-test.dir/integration/ros2__geometry_msgs.cpp.o: In function `rclcpp::Publisher<geometry_msgs::msg::Pose_<std::allocator<void> >, std::allocator<void> >::Publisher(rclcpp::node_interfaces::NodeBaseInterface*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rcl_publisher_options_t const&, rclcpp::PublisherEventCallbacks const&, std::shared_ptr<std::allocator<geometry_msgs::msg::Pose_<std::allocator<void> > > > const&)':
ros2__geometry_msgs.cpp:(.text._ZN6rclcpp9PublisherIN13geometry_msgs3msg5Pose_ISaIvEEES4_EC2EPNS_15node_interfaces17NodeBaseInterfaceERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERK23rcl_publisher_options_tRKNS_23PublisherEventCallbacksERKSt10shared_ptrISaIS5_EE[_ZN6rclcpp9PublisherIN13geometry_msgs3msg5Pose_ISaIvEEES4_EC5EPNS_15node_interfaces17NodeBaseInterfaceERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERK23rcl_publisher_options_tRKNS_23PublisherEventCallbacksERKSt10shared_ptrISaIS5_EE]+0x26): undefined reference to `rosidl_message_type_support_t const* rosidl_typesupport_cpp::get_message_type_support_handle<geometry_msgs::msg::Pose_<std::allocator<void> > >()'
CMakeFiles/soss-ros2-test.dir/integration/ros2__geometry_msgs.cpp.o: In function `rclcpp::Service<nav_msgs::srv::GetPlan>::Service(std::shared_ptr<rcl_node_t>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rclcpp::AnyServiceCallback<nav_msgs::srv::GetPlan>, rcl_service_options_t&)':
ros2__geometry_msgs.cpp:(.text._ZN6rclcpp7ServiceIN8nav_msgs3srv7GetPlanEEC2ESt10shared_ptrI10rcl_node_tERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_18AnyServiceCallbackIS3_EER21rcl_service_options_t[_ZN6rclcpp7ServiceIN8nav_msgs3srv7GetPlanEEC5ESt10shared_ptrI10rcl_node_tERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS_18AnyServiceCallbackIS3_EER21rcl_service_options_t]+0xb0): undefined reference to `rosidl_service_type_support_t const* rosidl_typesupport_cpp::get_service_type_support_handle<nav_msgs::srv::GetPlan>()'
collect2: error: ld returned 1 exit status
make[2]: *** [soss-ros2-test] Error 1
make[1]: *** [CMakeFiles/soss-ros2-test.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [all] Error 2

Close since superseed by 3.0.0 release. Among other things, we migrated the whole Integration Service suite to Google Test. Please reopen if you experience any more trouble with the ROS 2 System Handle tests; anyway, there is a GitHub action that proves they are working now.