ros2 / rosidl_typesupport

Packages which provide the typesupport for ROS messages and services
Apache License 2.0
13 stars 34 forks source link

rosidl generation fails to send out target name, sends package name instead #52

Closed pbaj closed 4 years ago

pbaj commented 4 years ago

https://github.com/ros2/rosidl_typesupport/blob/da5d29041d5d8ea668b28d1338f2e9a920c3c1d1/rosidl_typesupport_cpp/src/type_support_dispatch.hpp#L64-L70

The package_name referenced in the code above comes from the caller function.

In my package CMakeLists.txt

case 1

project(abc)
rosidl_generate_interfaces(abc_srvs
        "srv/ResetGoal.srv"
        DEPENDENCIES
        geometry_msgs
        )

this fails to load the component.

however:

case 2

 project(abc)
rosidl_generate_interfaces(abc_srvs
       LIBRARY_NAME abc 
       "srv/ResetGoal.srv"
        DEPENDENCIES
        geometry_msgs
        )

this works just fine.

Does the LIBRARY_NAME need to be defined, is this expected and the intended functionality. T

Also component manager doesn't catch an error (it doesn't throw an error) for some reason and just hangs in case 1.

Just a note this is on master.

On Dashing release this is not a problem, whatever is exporting the target uses the correct name for "package_name" when calling the function in the code referenced above at the start.

dirk-thomas commented 4 years ago

this fails to load the component.

Also component manager doesn't catch an error (it doesn't throw an error) for some reason and just hangs in case 1.

What component are you referring to in these cases?

Please provide more context as well as reproducible steps.

dirk-thomas commented 4 years ago

Closing due to no response.