Skip to content

[BUG]: Compile error in Humble while upgrading to Gazebo Harmonic #16

Closed
@amarburg

Description

@amarburg

Issue Description

While testing blue PR #223 on switching to Gazebo "Harmonic", I was not able to build for Humble with this error:

#35 18.60 /home/blue/ws_blue/src/ardusub_driver/ardusub_manager/src/ardusub_manager.cpp: In member function ‘virtual ardusub_manager::CallbackReturn ardusub_manager::ArduSubManager::on_configure(const rclcpp_lifecycle::State&)’:
#35 18.60 /home/blue/ws_blue/src/ardusub_driver/ardusub_manager/src/ardusub_manager.cpp:127:47: error: cannot convert ‘rclcpp::SystemDefaultsQoS’ to ‘const rmw_qos_profile_t&’ {aka ‘const rmw_qos_profile_s&’}
#35 18.60   127 |       "/mavros/set_message_interval", rclcpp::SystemDefaultsQoS(), set_intervals_callback_group_);
#35 18.60       |                                               ^~~~~~~~~~~~~~~~~~~
#35 18.60       |                                               |
#35 18.60       |                                               rclcpp::SystemDefaultsQoS
#35 18.60 In file included from /opt/ros/humble/include/rclcpp_lifecycle/rclcpp_lifecycle/lifecycle_node.hpp:996,
#35 18.60                  from /home/blue/ws_blue/src/ardusub_driver/ardusub_manager/src/ardusub_manager.hpp:28,
#35 18.60                  from /home/blue/ws_blue/src/ardusub_driver/ardusub_manager/src/ardusub_manager.cpp:21:
#35 18.60 /opt/ros/humble/include/rclcpp_lifecycle/rclcpp_lifecycle/lifecycle_node_impl.hpp:103:29: note:   initializing argument 2 of ‘typename rclcpp::Client<ServiceT>::SharedPtr rclcpp_lifecycle::LifecycleNode::create_client(c
onst string&, const rmw_qos_profile_t&, rclcpp::CallbackGroup::SharedPtr) [with ServiceT = mavros_msgs::srv::MessageInterval; typename rclcpp::Client<ServiceT>::SharedPtr = std::shared_ptr<rclcpp::Client<mavros_msgs::srv::Message
Interval> >; std::string = std::__cxx11::basic_string<char>; rmw_qos_profile_t = rmw_qos_profile_s; rclcpp::CallbackGroup::SharedPtr = std::shared_ptr<rclcpp::CallbackGroup>]’
#35 18.60   103 |   const rmw_qos_profile_t & qos_profile,
#35 18.60       |   ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
#35 18.60 gmake[2]: *** [CMakeFiles/ardusub_manager.dir/build.make:76: CMakeFiles/ardusub_manager.dir/src/ardusub_manager.cpp.o] Error 1
#35 18.60 gmake[1]: *** [CMakeFiles/Makefile2:165: CMakeFiles/ardusub_manager.dir/all] Error 2

This is building for amd64 on amd64 (not cross-compiling).

Still investigating, but thought I would bookmark this.

Steps to Reproduce

  1. git clone https://github.com/apl-ocean-engineering/blue.git && cd blue/
  2. git checkout /dev/gazebo_harmonic_by_default
  3. Edit "blue.repos", change ros_gz to "version: humble"
  4. docker buildx build --build-arg ROS_DISTRO=humble -f .docker/Dockerfile .

Expected Behavior

Docker build should complete successfully.

Error Message

See above

Runtime Environment

Ubuntu 20.04.6 host
Docker version 27.1.1, build 6312585

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions