Skip to content

Interface for sensor_msgs/msg/CameraInfo needs also sensor_msgs/msg/RegionOfInterest #12

Description

@fspindle

This is more a feature request than an issue.

I'm running Ubuntu 22.04 LTS with ROS2 humble.

When adding sensor_msgs/msg/CameraInfo message to meta/interface.txt build fails:

$ colcon build --symlink-install --packages-select sim_ros2_interface
Starting >>> sim_ros2_interface
[Processing: sim_ros2_interface]                             
[Processing: sim_ros2_interface]                                     
[Processing: sim_ros2_interface]                                       
[Processing: sim_ros2_interface]                                       
[Processing: sim_ros2_interface]                                       
[Processing: sim_ros2_interface]                                       
[Processing: sim_ros2_interface]                                       
[Processing: sim_ros2_interface]                                       
[Processing: sim_ros2_interface]                                       
[Processing: sim_ros2_interface]                                       
[Processing: sim_ros2_interface]                                       
[Processing: sim_ros2_interface]                                       
--- stderr: sim_ros2_interface                                         
/home/fspindle/colcon_ws/build/sim_ros2_interface/generated/callbacks.cpp: In function ‘void write__sensor_msgs__msg__CameraInfo(const CameraInfo&, int, const ROS2WriteOptions*)’:
/home/fspindle/colcon_ws/build/sim_ros2_interface/generated/callbacks.cpp:1457:13: error: ‘write__sensor_msgs__msg__RegionOfInterest’ was not declared in this scope; did you mean ‘DEPRECATED__sensor_msgs__msg__RegionOfInterest’?
 1457 |             write__sensor_msgs__msg__RegionOfInterest(msg.roi, stack, opt);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |             DEPRECATED__sensor_msgs__msg__RegionOfInterest
/home/fspindle/colcon_ws/build/sim_ros2_interface/generated/callbacks.cpp: In function ‘void read__sensor_msgs__msg__CameraInfo(int, sensor_msgs::msg::CameraInfo*, const ROS2ReadOptions*)’:
/home/fspindle/colcon_ws/build/sim_ros2_interface/generated/callbacks.cpp:1673:25: error: ‘read__sensor_msgs__msg__RegionOfInterest’ was not declared in this scope; did you mean ‘DEPRECATED__sensor_msgs__msg__RegionOfInterest’?
 1673 |                         read__sensor_msgs__msg__RegionOfInterest(stack, &(msg->roi), opt);
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                         DEPRECATED__sensor_msgs__msg__RegionOfInterest
gmake[2]: *** [CMakeFiles/simExtROS2.dir/build.make:227: CMakeFiles/simExtROS2.dir/generated/callbacks.cpp.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
gmake[1]: *** [CMakeFiles/Makefile2:164: CMakeFiles/simExtROS2.dir/all] Error 2
gmake: *** [Makefile:146: all] Error 2
---
Failed   <<< sim_ros2_interface [6min 27s, exited with code 2]

Summary: 0 packages finished [6min 27s]
  1 package failed: sim_ros2_interface
  1 package had stderr output: sim_ros2_interface

The trick is to add also sensor_msgs/msg/RegionOfInterest to meta/interface.txt the make the build succeed.

I didn't investigate so far, but as an end user, it could be interesting that in your mechanism you find a way to add automatically the dependencies of a given message.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions