tier4 / caret

CARET (Chain-Aware ROS Evaluation Tool) is one of performance analysis tools dedicated with ROS 2 applications
https://tier4.github.io/caret_doc/main/
Apache License 2.0
64 stars 16 forks source link

Build with application using pcl_ros fails #56

Closed takeshi-iwanari closed 1 year ago

takeshi-iwanari commented 1 year ago

Describe the issue

Expected behavior

Environment

How To Reproduce

  1. Install CARET
  2. Build Autoware with CARET using the following command
source ~/ros2_caret_ws/install/local_setup.bash
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=Off -DCMAKE_CXX_FLAGS="-w"

Log

--- stderr: static_centerline_optimizer                                                                               
/usr/bin/ld: CMakeFiles/main.dir/src/static_centerline_optimizer_node.cpp.o: in function `void rclcpp::experimental::IntraProcessManager::add_owned_msg_to_buffers<visualization_msgs::msg::MarkerArray_<std::allocator<void> >, std::allocator<void>, std::default_delete<visualization_msgs::msg::MarkerArray_<std::allocator<void> > >, visualization_msgs::msg::MarkerArray_<std::allocator<void> > >(std::unique_ptr<visualization_msgs::msg::MarkerArray_<std::allocator<void> >, std::default_delete<visualization_msgs::msg::MarkerArray_<std::allocator<void> > > >, std::vector<unsigned long, std::allocator<unsigned long> >, rclcpp::allocator::AllocRebind<visualization_msgs::msg::MarkerArray_<std::allocator<void> > >::allocator_type&) [clone .isra.0]':
static_centerline_optimizer_node.cpp:(.text+0x47d0): undefined reference to `ros_trace_message_construct'
/usr/bin/ld: CMakeFiles/main.dir/src/static_centerline_optimizer_node.cpp.o: in function `void rclcpp::experimental::IntraProcessManager::add_owned_msg_to_buffers<autoware_auto_planning_msgs::msg::Trajectory_<std::allocator<void> >, std::allocator<void>, std::default_delete<autoware_auto_planning_msgs::msg::Trajectory_<std::allocator<void> > >, autoware_auto_planning_msgs::msg::Trajectory_<std::allocator<void> > >(std::unique_ptr<autoware_auto_planning_msgs::msg::Trajectory_<std::allocator<void> >, std::default_delete<autoware_auto_planning_msgs::msg::Trajectory_<std::allocator<void> > > >, std::vector<unsigned long, std::allocator<unsigned long> >, rclcpp::allocator::AllocRebind<autoware_auto_planning_msgs::msg::Trajectory_<std::allocator<void> > >::allocator_type&) [clone .isra.0]':
static_centerline_optimizer_node.cpp:(.text+0x50e7): undefined reference to `ros_trace_message_construct'
/usr/bin/ld: CMakeFiles/main.dir/src/static_centerline_optimizer_node.cpp.o: in function `void rclcpp::experimental::IntraProcessManager::add_owned_msg_to_buffers<autoware_auto_planning_msgs::msg::Path_<std::allocator<void> >, std::allocator<void>, std::default_delete<autoware_auto_planning_msgs::msg::Path_<std::allocator<void> > >, autoware_auto_planning_msgs::msg::Path_<std::allocator<void> > >(std::unique_ptr<autoware_auto_planning_msgs::msg::Path_<std::allocator<void> >, std::default_delete<autoware_auto_planning_msgs::msg::Path_<std::allocator<void> > > >, std::vector<unsigned long, std::allocator<unsigned long> >, rclcpp::allocator::AllocRebind<autoware_auto_planning_msgs::msg::Path_<std::allocator<void> > >::allocator_type&) [clone .isra.0]':
static_centerline_optimizer_node.cpp:(.text+0x59e7): undefined reference to `ros_trace_message_construct'
/usr/bin/ld: CMakeFiles/main.dir/src/static_centerline_optimizer_node.cpp.o: in function `void rclcpp::experimental::IntraProcessManager::add_owned_msg_to_buffers<autoware_auto_planning_msgs::msg::PathWithLaneId_<std::allocator<void> >, std::allocator<void>, std::default_delete<autoware_auto_planning_msgs::msg::PathWithLaneId_<std::allocator<void> > >, autoware_auto_planning_msgs::msg::PathWithLaneId_<std::allocator<void> > >(std::unique_ptr<autoware_auto_planning_msgs::msg::PathWithLaneId_<std::allocator<void> >, std::default_delete<autoware_auto_planning_msgs::msg::PathWithLaneId_<std::allocator<void> > > >, std::vector<unsigned long, std::allocator<unsigned long> >, rclcpp::allocator::AllocRebind<autoware_auto_planning_msgs::msg::PathWithLaneId_<std::allocator<void> > >::allocator_type&) [clone .isra.0]':
static_centerline_optimizer_node.cpp:(.text+0x62c7): undefined reference to `ros_trace_message_construct'
/usr/bin/ld: CMakeFiles/main.dir/src/static_centerline_optimizer_node.cpp.o: in function `void rclcpp::experimental::IntraProcessManager::add_owned_msg_to_buffers<autoware_auto_mapping_msgs::msg::HADMapBin_<std::allocator<void> >, std::allocator<void>, std::default_delete<autoware_auto_mapping_msgs::msg::HADMapBin_<std::allocator<void> > >, autoware_auto_mapping_msgs::msg::HADMapBin_<std::allocator<void> > >(std::unique_ptr<autoware_auto_mapping_msgs::msg::HADMapBin_<std::allocator<void> >, std::default_delete<autoware_auto_mapping_msgs::msg::HADMapBin_<std::allocator<void> > > >, std::vector<unsigned long, std::allocator<unsigned long> >, rclcpp::allocator::AllocRebind<autoware_auto_mapping_msgs::msg::HADMapBin_<std::allocator<void> > >::allocator_type&) [clone .isra.0]':
static_centerline_optimizer_node.cpp:(.text+0x6a5c): undefined reference to `ros_trace_message_construct'
/usr/bin/ld: CMakeFiles/main.dir/src/static_centerline_optimizer_node.cpp.o: in function `static_centerline_optimizer::StaticCenterlineOptimizerNode::plan_path(std::vector<unsigned int, std::allocator<unsigned int> > const&)':
static_centerline_optimizer_node.cpp:(.text+0xe816): undefined reference to `ros_trace_rclcpp_intra_publish'
/usr/bin/ld: static_centerline_optimizer_node.cpp:(.text+0xeca8): undefined reference to `ros_trace_rclcpp_intra_publish'
/usr/bin/ld: static_centerline_optimizer_node.cpp:(.text+0xef95): undefined reference to `ros_trace_rclcpp_intra_publish'
/usr/bin/ld: static_centerline_optimizer_node.cpp:(.text+0xf5ef): undefined reference to `ros_trace_rclcpp_intra_publish'
/usr/bin/ld: static_centerline_optimizer_node.cpp:(.text+0xf6bf): undefined reference to `ros_trace_rclcpp_intra_publish'
/usr/bin/ld: CMakeFiles/main.dir/src/static_centerline_optimizer_node.cpp.o:static_centerline_optimizer_node.cpp:(.text+0xf794): more undefined references to `ros_trace_rclcpp_intra_publish' follow
/usr/bin/ld: CMakeFiles/main.dir/src/static_centerline_optimizer_node.cpp.o: in function `std::shared_ptr<autoware_auto_planning_msgs::msg::PathWithLaneId_<std::allocator<void> > const> rclcpp::experimental::IntraProcessManager::do_intra_process_publish_and_return_shared<autoware_auto_planning_msgs::msg::PathWithLaneId_<std::allocator<void> >, autoware_auto_planning_msgs::msg::PathWithLaneId_<std::allocator<void> >, std::allocator<void>, std::default_delete<autoware_auto_planning_msgs::msg::PathWithLaneId_<std::allocator<void> > > >(unsigned long, std::unique_ptr<autoware_auto_planning_msgs::msg::PathWithLaneId_<std::allocator<void> >, std::default_delete<autoware_auto_planning_msgs::msg::PathWithLaneId_<std::allocator<void> > > >, rclcpp::allocator::AllocRebind<autoware_auto_planning_msgs::msg::PathWithLaneId_<std::allocator<void> > >::allocator_type&)':
static_centerline_optimizer_node.cpp:(.text._ZN6rclcpp12experimental19IntraProcessManager42do_intra_process_publish_and_return_sharedIN27autoware_auto_planning_msgs3msg15PathWithLaneId_ISaIvEEES7_S6_St14default_deleteIS7_EEESt10shared_ptrIKT_EmSt10unique_ptrISB_T2_ERNS_9allocator11AllocRebindISB_E14allocator_typeE[_ZN6rclcpp12experimental19IntraProcessManager42do_intra_process_publish_and_return_sharedIN27autoware_auto_planning_msgs3msg15PathWithLaneId_ISaIvEEES7_S6_St14default_deleteIS7_EEESt10shared_ptrIKT_EmSt10unique_ptrISB_T2_ERNS_9allocator11AllocRebindISB_E14allocator_typeE]+0x1bb): undefined reference to `ros_trace_message_construct'
/usr/bin/ld: CMakeFiles/main.dir/src/static_centerline_optimizer_node.cpp.o: in function `void rclcpp::experimental::IntraProcessManager::do_intra_process_publish<autoware_auto_planning_msgs::msg::PathWithLaneId_<std::allocator<void> >, autoware_auto_planning_msgs::msg::PathWithLaneId_<std::allocator<void> >, std::allocator<void>, std::default_delete<autoware_auto_planning_msgs::msg::PathWithLaneId_<std::allocator<void> > > >(unsigned long, std::unique_ptr<autoware_auto_planning_msgs::msg::PathWithLaneId_<std::allocator<void> >, std::default_delete<autoware_auto_planning_msgs::msg::PathWithLaneId_<std::allocator<void> > > >, rclcpp::allocator::AllocRebind<autoware_auto_planning_msgs::msg::PathWithLaneId_<std::allocator<void> > >::allocator_type&)':
static_centerline_optimizer_node.cpp:(.text._ZN6rclcpp12experimental19IntraProcessManager24do_intra_process_publishIN27autoware_auto_planning_msgs3msg15PathWithLaneId_ISaIvEEES7_S6_St14default_deleteIS7_EEEvmSt10unique_ptrIT_T2_ERNS_9allocator11AllocRebindISB_E14allocator_typeE[_ZN6rclcpp12experimental19IntraProcessManager24do_intra_process_publishIN27autoware_auto_planning_msgs3msg15PathWithLaneId_ISaIvEEES7_S6_St14default_deleteIS7_EEEvmSt10unique_ptrIT_T2_ERNS_9allocator11AllocRebindISB_E14allocator_typeE]+0x25b): undefined reference to `ros_trace_message_construct'
/usr/bin/ld: CMakeFiles/main.dir/src/static_centerline_optimizer_node.cpp.o: in function `std::shared_ptr<visualization_msgs::msg::MarkerArray_<std::allocator<void> > const> rclcpp::experimental::IntraProcessManager::do_intra_process_publish_and_return_shared<visualization_msgs::msg::MarkerArray_<std::allocator<void> >, visualization_msgs::msg::MarkerArray_<std::allocator<void> >, std::allocator<void>, std::default_delete<visualization_msgs::msg::MarkerArray_<std::allocator<void> > > >(unsigned long, std::unique_ptr<visualization_msgs::msg::MarkerArray_<std::allocator<void> >, std::default_delete<visualization_msgs::msg::MarkerArray_<std::allocator<void> > > >, rclcpp::allocator::AllocRebind<visualization_msgs::msg::MarkerArray_<std::allocator<void> > >::allocator_type&)':
static_centerline_optimizer_node.cpp:(.text._ZN6rclcpp12experimental19IntraProcessManager42do_intra_process_publish_and_return_sharedIN18visualization_msgs3msg12MarkerArray_ISaIvEEES7_S6_St14default_deleteIS7_EEESt10shared_ptrIKT_EmSt10unique_ptrISB_T2_ERNS_9allocator11AllocRebindISB_E14allocator_typeE[_ZN6rclcpp12experimental19IntraProcessManager42do_intra_process_publish_and_return_sharedIN18visualization_msgs3msg12MarkerArray_ISaIvEEES7_S6_St14default_deleteIS7_EEESt10shared_ptrIKT_EmSt10unique_ptrISB_T2_ERNS_9allocator11AllocRebindISB_E14allocator_typeE]+0x255): undefined reference to `ros_trace_message_construct'
/usr/bin/ld: CMakeFiles/main.dir/src/static_centerline_optimizer_node.cpp.o: in function `void rclcpp::experimental::IntraProcessManager::do_intra_process_publish<visualization_msgs::msg::MarkerArray_<std::allocator<void> >, visualization_msgs::msg::MarkerArray_<std::allocator<void> >, std::allocator<void>, std::default_delete<visualization_msgs::msg::MarkerArray_<std::allocator<void> > > >(unsigned long, std::unique_ptr<visualization_msgs::msg::MarkerArray_<std::allocator<void> >, std::default_delete<visualization_msgs::msg::MarkerArray_<std::allocator<void> > > >, rclcpp::allocator::AllocRebind<visualization_msgs::msg::MarkerArray_<std::allocator<void> > >::allocator_type&)':
static_centerline_optimizer_node.cpp:(.text._ZN6rclcpp12experimental19IntraProcessManager24do_intra_process_publishIN18visualization_msgs3msg12MarkerArray_ISaIvEEES7_S6_St14default_deleteIS7_EEEvmSt10unique_ptrIT_T2_ERNS_9allocator11AllocRebindISB_E14allocator_typeE[_ZN6rclcpp12experimental19IntraProcessManager24do_intra_process_publishIN18visualization_msgs3msg12MarkerArray_ISaIvEEES7_S6_St14default_deleteIS7_EEEvmSt10unique_ptrIT_T2_ERNS_9allocator11AllocRebindISB_E14allocator_typeE]+0x25b): undefined reference to `ros_trace_message_construct'
/usr/bin/ld: CMakeFiles/main.dir/src/static_centerline_optimizer_node.cpp.o: in function `std::shared_ptr<autoware_auto_planning_msgs::msg::Path_<std::allocator<void> > const> rclcpp::experimental::IntraProcessManager::do_intra_process_publish_and_return_shared<autoware_auto_planning_msgs::msg::Path_<std::allocator<void> >, autoware_auto_planning_msgs::msg::Path_<std::allocator<void> >, std::allocator<void>, std::default_delete<autoware_auto_planning_msgs::msg::Path_<std::allocator<void> > > >(unsigned long, std::unique_ptr<autoware_auto_planning_msgs::msg::Path_<std::allocator<void> >, std::default_delete<autoware_auto_planning_msgs::msg::Path_<std::allocator<void> > > >, rclcpp::allocator::AllocRebind<autoware_auto_planning_msgs::msg::Path_<std::allocator<void> > >::allocator_type&)':
static_centerline_optimizer_node.cpp:(.text._ZN6rclcpp12experimental19IntraProcessManager42do_intra_process_publish_and_return_sharedIN27autoware_auto_planning_msgs3msg5Path_ISaIvEEES7_S6_St14default_deleteIS7_EEESt10shared_ptrIKT_EmSt10unique_ptrISB_T2_ERNS_9allocator11AllocRebindISB_E14allocator_typeE[_ZN6rclcpp12experimental19IntraProcessManager42do_intra_process_publish_and_return_sharedIN27autoware_auto_planning_msgs3msg5Path_ISaIvEEES7_S6_St14default_deleteIS7_EEESt10shared_ptrIKT_EmSt10unique_ptrISB_T2_ERNS_9allocator11AllocRebindISB_E14allocator_typeE]+0x1bb): undefined reference to `ros_trace_message_construct'
/usr/bin/ld: CMakeFiles/main.dir/src/static_centerline_optimizer_node.cpp.o:static_centerline_optimizer_node.cpp:(.text._ZN6rclcpp12experimental19IntraProcessManager24do_intra_process_publishIN27autoware_auto_planning_msgs3msg5Path_ISaIvEEES7_S6_St14default_deleteIS7_EEEvmSt10unique_ptrIT_T2_ERNS_9allocator11AllocRebindISB_E14allocator_typeE[_ZN6rclcpp12experimental19IntraProcessManager24do_intra_process_publishIN27autoware_auto_planning_msgs3msg5Path_ISaIvEEES7_S6_St14default_deleteIS7_EEEvmSt10unique_ptrIT_T2_ERNS_9allocator11AllocRebindISB_E14allocator_typeE]+0x25b): more undefined references to `ros_trace_message_construct' follow
/usr/bin/ld: CMakeFiles/main.dir/src/collision_free_optimizer_node.cpp.o: in function `std::enable_if<!std::is_same<autoware_auto_planning_msgs::msg::Path_<std::allocator<void> >, rcutils_uint8_array_s>::value, void>::type rclcpp::experimental::SubscriptionIntraProcess<autoware_auto_planning_msgs::msg::Path_<std::allocator<void> >, autoware_auto_planning_msgs::msg::Path_<std::allocator<void> >, std::allocator<autoware_auto_planning_msgs::msg::Path_<std::allocator<void> > >, std::default_delete<autoware_auto_planning_msgs::msg::Path_<std::allocator<void> > >, autoware_auto_planning_msgs::msg::Path_<std::allocator<void> >, std::allocator<void> >::execute_impl<autoware_auto_planning_msgs::msg::Path_<std::allocator<void> > >(std::shared_ptr<void>&)':
collision_free_optimizer_node.cpp:(.text._ZN6rclcpp12experimental24SubscriptionIntraProcessIN27autoware_auto_planning_msgs3msg5Path_ISaIvEEES6_SaIS6_ESt14default_deleteIS6_ES6_S5_E12execute_implIS6_EENSt9enable_ifIXntsrSt7is_sameIT_21rcutils_uint8_array_sE5valueEvE4typeERSt10shared_ptrIvE[_ZN6rclcpp12experimental24SubscriptionIntraProcessIN27autoware_auto_planning_msgs3msg5Path_ISaIvEEES6_SaIS6_ESt14default_deleteIS6_ES6_S5_E12execute_implIS6_EENSt9enable_ifIXntsrSt7is_sameIT_21rcutils_uint8_array_sE5valueEvE4typeERSt10shared_ptrIvE]+0x148): undefined reference to `ros_trace_dispatch_intra_process_subscription_callback'
/usr/bin/ld: collision_free_optimizer_node.cpp:(.text._ZN6rclcpp12experimental24SubscriptionIntraProcessIN27autoware_auto_planning_msgs3msg5Path_ISaIvEEES6_SaIS6_ESt14default_deleteIS6_ES6_S5_E12execute_implIS6_EENSt9enable_ifIXntsrSt7is_sameIT_21rcutils_uint8_array_sE5valueEvE4typeERSt10shared_ptrIvE[_ZN6rclcpp12experimental24SubscriptionIntraProcessIN27autoware_auto_planning_msgs3msg5Path_ISaIvEEES6_SaIS6_ESt14default_deleteIS6_ES6_S5_E12execute_implIS6_EENSt9enable_ifIXntsrSt7is_sameIT_21rcutils_uint8_array_sE5valueEvE4typeERSt10shared_ptrIvE]+0x2b0): undefined reference to `ros_trace_dispatch_intra_process_subscription_callback'
/usr/bin/ld: CMakeFiles/main.dir/src/collision_free_optimizer_node.cpp.o: in function `rclcpp::Subscription<autoware_auto_planning_msgs::msg::Path_<std::allocator<void> >, std::allocator<void>, autoware_auto_planning_msgs::msg::Path_<std::allocator<void> >, autoware_auto_planning_msgs::msg::Path_<std::allocator<void> >, rclcpp::message_memory_strategy::MessageMemoryStrategy<autoware_auto_planning_msgs::msg::Path_<std::allocator<void> >, std::allocator<void> > >::handle_loaned_message(void*, rclcpp::MessageInfo const&)':
collision_free_optimizer_node.cpp:(.text._ZN6rclcpp12SubscriptionIN27autoware_auto_planning_msgs3msg5Path_ISaIvEEES4_S5_S5_NS_23message_memory_strategy21MessageMemoryStrategyIS5_S4_EEE21handle_loaned_messageEPvRKNS_11MessageInfoE[_ZN6rclcpp12SubscriptionIN27autoware_auto_planning_msgs3msg5Path_ISaIvEEES4_S5_S5_NS_23message_memory_strategy21MessageMemoryStrategyIS5_S4_EEE21handle_loaned_messageEPvRKNS_11MessageInfoE]+0x10f): undefined reference to `ros_trace_dispatch_subscription_callback'
/usr/bin/ld: CMakeFiles/main.dir/src/collision_free_optimizer_node.cpp.o: in function `rclcpp::Subscription<autoware_auto_planning_msgs::msg::Path_<std::allocator<void> >, std::allocator<void>, autoware_auto_planning_msgs::msg::Path_<std::allocator<void> >, autoware_auto_planning_msgs::msg::Path_<std::allocator<void> >, rclcpp::message_memory_strategy::MessageMemoryStrategy<autoware_auto_planning_msgs::msg::Path_<std::allocator<void> >, std::allocator<void> > >::handle_message(std::shared_ptr<void>&, rclcpp::MessageInfo const&)':
collision_free_optimizer_node.cpp:(.text._ZN6rclcpp12SubscriptionIN27autoware_auto_planning_msgs3msg5Path_ISaIvEEES4_S5_S5_NS_23message_memory_strategy21MessageMemoryStrategyIS5_S4_EEE14handle_messageERSt10shared_ptrIvERKNS_11MessageInfoE[_ZN6rclcpp12SubscriptionIN27autoware_auto_planning_msgs3msg5Path_ISaIvEEES4_S5_S5_NS_23message_memory_strategy21MessageMemoryStrategyIS5_S4_EEE14handle_messageERSt10shared_ptrIvERKNS_11MessageInfoE]+0x103): undefined reference to `ros_trace_dispatch_subscription_callback'
/usr/bin/ld: CMakeFiles/main.dir/src/collision_free_optimizer_node.cpp.o: in function `rclcpp::topic_statistics::SubscriptionTopicStatistics<autoware_auto_planning_msgs::msg::Path_<std::allocator<void> > >::publish_message_and_reset_measurements()':
collision_free_optimizer_node.cpp:(.text._ZN6rclcpp16topic_statistics27SubscriptionTopicStatisticsIN27autoware_auto_planning_msgs3msg5Path_ISaIvEEEE38publish_message_and_reset_measurementsEv[_ZN6rclcpp16topic_statistics27SubscriptionTopicStatisticsIN27autoware_auto_planning_msgs3msg5Path_ISaIvEEEE38publish_message_and_reset_measurementsEv]+0x397): undefined reference to `ros_trace_rclcpp_intra_publish'
/usr/bin/ld: collision_free_optimizer_node.cpp:(.text._ZN6rclcpp16topic_statistics27SubscriptionTopicStatisticsIN27autoware_auto_planning_msgs3msg5Path_ISaIvEEEE38publish_message_and_reset_measurementsEv[_ZN6rclcpp16topic_statistics27SubscriptionTopicStatisticsIN27autoware_auto_planning_msgs3msg5Path_ISaIvEEEE38publish_message_and_reset_measurementsEv]+0x7b0): undefined reference to `ros_trace_rclcpp_intra_publish'
collect2: error: ld returned 1 exit status
gmake[2]: *** [CMakeFiles/main.dir/build.make:768: main] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:593: CMakeFiles/main.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
---
Failed   <<< static_centerline_optimizer [0.97s, exited with code 2]
Aborted  <<< lidar_centerpoint [15.5s]                                     

Summary: 224 packages finished [23.5s]
  1 package failed: static_centerline_optimizer
  1 package aborted: lidar_centerpoint
  3 packages had stderr output: lidar_centerpoint simulator_compatibility_test static_centerline_optimizer
  3 packages not processed

Screenshots

None

Additional context

None

takeshi-iwanari commented 1 year ago

Cause

Solution

sudo cp /opt/ros/humble/share/pcl_ros/cmake/export_pcl_rosExport.cmake /opt/ros/humble/share/pcl_ros/cmake/export_pcl_rosExport.cmake.bak
sudo sed -i -e 's/\/opt\/ros\/humble\/lib\/libtracetools.so;//g' /opt/ros/humble/share/pcl_ros/cmake/export_pcl_rosExport.cmake