Fast-DDS-Gen icon indicating copy to clipboard operation
Fast-DDS-Gen copied to clipboard

Error generating ROS2 idl messages

Open com-server-ap opened this issue 6 months ago • 2 comments

Hello everyone , I am trying to generate structures to communicate using ros2 idl messages. fastddsgen runs fine until it encounters nav_msg/srv. The error that appears for the nav_msgs / srv / GetMap.idl message is

/opt/ros/humble/share/nav_msgs/srv/GetMap.idl:17:35: error: Unexpected input 'map'

the GetMap.idl is below:

// generated from rosidl_adapter/resource/srv.idl.em
// with input from nav_msgs/srv/GetMap.srv
// generated code does not contain a copyright notice

#include "nav_msgs/msg/OccupancyGrid.idl"

module nav_msgs {
  module srv {
    @verbatim (language="comment", text=
      "Get the map as a nav_msgs/OccupancyGrid")
    struct GetMap_Request {
      uint8 structure_needs_at_least_one_member;
    };
    @verbatim (language="comment", text=
      "The current map hosted by this map service.")
    struct GetMap_Response {
      nav_msgs::msg::OccupancyGrid map;
    };
  };
};

Is it possible that fastddsgen is treating the map value as a type? Or could it be due to other reasons? How can this be resolved?

reproduce step:

fastddsgen -typeros2  -I /opt/ros/humble/share/   /opt/ros/humble/share/nav_msgs/srv/GetMap.idl -cs

Thanks in advance

com-server-ap avatar Aug 01 '24 12:08 com-server-ap