IntelligentRoboticsLabs / marathon_ros2

Apache License 2.0
33 stars 9 forks source link

Error when building marathon_ros2 workspace #5

Open mic-pest opened 2 years ago

mic-pest commented 2 years ago

I'm trying to replicate the marathon experiment. After having cloned this repository, when building the ros2 workspace, the following error occurs in the marathon_ros2_wp_manager package. It seems to be an error related to nav2 data types. All dependencies (pcl_msgs, perception_pcl, teb_local_planner, costmap_converter, nav2, stvl plugin) are installed.

stderr: marathon_ros2_wp_manager
/home/mic/ros2_eloquent/src/marathon_ros2/marathon_ros2_wp_manager/src/wp_manager.cpp: In member function ‘void WaypointManager::feedback_callback(rclcpp_action::ClientGoalHandle::SharedPtr, std::shared_ptr<const nav2_msgs::action::NavigateToPoseFeedback<std::allocator > >)’: /home/mic/ros2_eloquent/src/marathon_ros2/marathon_ros2_wp_manager/src/wp_manager.cpp:129:37: error: ‘using element_type = const struct nav2_msgs::action::NavigateToPoseFeedback<std::allocator > {aka const struct nav2_msgs::action::NavigateToPoseFeedback<std::allocator >}’ has no member named ‘distance_remaining’ distanceremaining = feedback->distance_remaining; ^~~~~~ /home/mic/ros2_eloquent/src/marathon_ros2/marathon_ros2_wp_manager/src/wp_manager.cpp:130:31: error: ‘using element_type = const struct nav2_msgs::action::NavigateToPoseFeedback<std::allocator > {aka const struct nav2_msgs::action::NavigateToPoseFeedback<std::allocator >}’ has no member named ‘number_of_recoveries’ nrecoveries = feedback->number_of_recoveries; ^~~~~~~~ /home/mic/ros2_eloquent/src/marathon_ros2/marathon_ros2_wp_manager/src/wp_manager.cpp: In member function ‘void WaypointManager::navigate_to_pose(geometry_msgs::msg::PoseStamped)’: /home/mic/ros2_eloquent/src/marathon_ros2/marathon_ros2_wp_manager/src/wp_manager.cpp:190:17: error: ‘rclcpp::FutureReturnCode’ has not been declared rclcpp::FutureReturnCode::SUCCESS) ^~~~ make[2]: [CMakeFiles/wp_manager_node.dir/src/wp_manager.cpp.o] Error 1 make[1]: [CMakeFiles/wp_manager_node.dir/all] Error 2 make: *** [all] Error 2

Thank you

fmrico commented 2 years ago

Hi @mic-pest

Marathon2 Was an experiment carried out more than two years ago. It was developed for Foxy, and some changes in rclcpp have been done since then. What distro are you using?

I can help you update marathon2 by reviewing PRs if you want to work on it.

Best Francisco

mic-pest commented 2 years ago

Hi, we managed to switch to Foxy but the indicated ros1_bridge version provided in the readme (https://github.com/fmrico/ros1_bridge/tree/dedicated_bridges) build seems not working. The error reported is the following:

/usr/bin/ld: libros1_bridge.so: undefined reference to 'ros1_bridge::get_service_factory_slam_toolbox__srv__MergeMaps(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/bin/ld: libros1_bridge.so: undefined reference to 'ros1_bridge::get_service_factory_slam_toolbox__srv__Pause(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/bin/ld: libros1_bridge.so: undefined reference to 'ros1_bridge::get_service_factory_slam_toolbox__srv__Clear(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/bin/ld: libros1_bridge.so: undefined reference to 'ros1_bridge::get_service_factory_slam_toolbox__srv__DeserializePoseGraph(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/bin/ld: libros1_bridge.so: undefined reference to 'ros1_bridge::get_service_factory_slam_toolbox__srv__ClearQueue(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/bin/ld: libros1_bridge.so: undefined reference to 'ros1_bridge::get_service_factory_slam_toolbox__srv__AddSubmap(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/bin/ld: libros1_bridge.so: undefined reference to 'ros1_bridge::get_service_factory_slam_toolbox__srv__LoopClosure(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/bin/ld: libros1_bridge.so: undefined reference to 'ros1_bridge::get_service_factory_slam_toolbox__srv__SerializePoseGraph(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/bin/ld: libros1_bridge.so: undefined reference to 'ros1_bridge::get_service_factory_slam_toolbox__srv__SaveMap(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/bin/ld: libros1_bridge.so: undefined reference to 'ros1_bridge::get_service_factory_slam_toolbox__srv__ToggleInteractive(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'