ros2 / rmw_iceoryx

rmw implementation for iceoryx
Apache License 2.0
153 stars 27 forks source link

Runtime error message when publishing message (ros2 rolling / Iron ) #100

Closed felixf4xu closed 10 months ago

felixf4xu commented 1 year ago

Hi,

After the fix of #94 rmw_iceoryx_cpp can be compiled on Windows. Then I did some test and find an issue.

steps:

1) start iox-roudi.exe

2) set RMW_IMPLEMENTATION=rmw_iceoryx_cpp and then run ros2 run demo_nodes_cpp talker

then I have the following error messages:

'failed to resolve symbol 'rmw_get_gid_for_client' in shared library 'c:\ros\rolling\install\bin\rmw_iceoryx_cpp.dll', at C:\ros\rolling\src\ros2\rmw_implementation\rmw_implementation\src\functions.cpp:154'

'failed to resolve symbol 'rmw_take_dynamic_message' in shared library 'c:\ros\rolling\install\bin\rmw_iceoryx_cpp.dll', at C:\ros\rolling\src\ros2\rmw_implementation\rmw_implementation\src\functions.cpp:154'

'failed to resolve symbol 'rmw_take_dynamic_message_with_info' in shared library 'c:\ros\rolling\install\bin\rmw_iceoryx_cpp.dll', at C:\ros\rolling\src\ros2\rmw_implementation\rmw_implementation\src\functions.cpp:154'

'failed to resolve symbol 'rmw_serialization_support_init' in shared library 'c:\ros\rolling\install\bin\rmw_iceoryx_cpp.dll', at C:\ros\rolling\src\ros2\rmw_implementation\rmw_implementation\src\functions.cpp:154'

As for rmw_get_gid_for_client, it's added in ROS2 Iron (search "rmw_get_gid_for_client" at https://docs.ros.org/en/iron/Releases/Iron-Irwini-Complete-Changelog.html), and I'm testing on ros2 rolling, so it might be fine in humble but not in Iron when it's planned to be supported in #99

BTW, to my surprise, the talker/listener demo still work great despite of the error message. 💯

mossmaurice commented 1 year ago

@felixf4xu Thanks for trying out the changes and for opening the issue.

After the fix of https://github.com/ros2/rmw_iceoryx/issues/94 rmw_iceoryx_cpp can be compiled on Windows BTW, to my surprise, the talker/listener demo still work great despite of the error message. 💯

Great! :tada:

then I have the following error messages:

I saw the same runtime errors when running rolling. I think all four methods were introduced with iron.

Hence, I added the following as a todo item to #99

  1. rmw_get_gid_for_client
  2. rmw_take_dynamic_message
  3. rmw_take_dynamic_message_with_info
  4. rmw_serialization_support_init

I'm testing on ros2 rolling, so it might be fine in humble

If you have some time it would be awesome if you could also test humble.