-
Notifications
You must be signed in to change notification settings - Fork 40
Open
Labels
Description
Bug report
Required Info:
- Operating System:
- Focal
- Installation type:
- source
- Version or commit hash:
- Latest
- DDS implementation:
- N/A
- Client library (if applicable):
- rcl
Steps to reproduce issue
- Change the target passed to
rosidl_generate_interfacesfromtest_msgstotest_msgs_interfaces(Install headers to include/${PROJECT_NAME} and Depend on rosidl_typesupport_* targets directly rcl_interfaces#133) - Build all packages up to rcl
- Test rcl
Expected behavior
All of rcl's tests would pass
Actual behavior
Many tests fail with
85: [ RUN ] TestSubscriptionFixture__rmw_fastrtps_dynamic_cpp.test_subscription_init_fini_and_is_valid
85: /home/osrf/ws/ros2/src/ros2/rcl/rcl/test/rcl/test_subscription.cpp:135: Failure
85: Expected equality of these values:
85: 0
85: ret
85: Which is: 1
85: Type support not from this implementation. Got:
85: Could not load library libtest_msgs__rosidl_typesupport_introspection_c.so: dlopen error: libtest_msgs__rosidl_typesupport_introspection_c.so: cannot open shared object file: No such file or directory, at /home/osrf/ws/ros2/src/ros2/rcutils/src/shared_library.c:99, at /home/osrf/ws/ros2/src/ros2/rosidl_typesupport/rosidl_typesupport_c/src/type_support_dispatch.hpp:78
85: Handle's typesupport identifier (rosidl_typesupport_c) is not supported by this library, at /home/osrf/ws/ros2/src/ros2/rosidl_typesupport/rosidl_typesupport_c/src/type_support_dispatch.hpp:113
85: while fetching it, at /home/osrf/ws/ros2/src/ros2/rmw_fastrtps/rmw_fastrtps_dynamic_cpp/src/subscription.cpp:117, at /home/osrf/ws/ros2/src/ros2/rcl/rcl/src/rcl/subscription.c:105
85: [ FAILED ] TestSubscriptionFixture__rmw_fastrtps_dynamic_cpp.test_subscription_init_fini_and_is_valid (7 ms)
85: [ RUN ] TestSubscriptionFixture__rmw_fastrtps_dynamic_cpp.test_subscription_bad_init
All failures:
7 - test_client__rmw_cyclonedds_cpp (Failed)
14 - test_graph__rmw_cyclonedds_cpp (Failed)
15 - test_info_by_topic__rmw_cyclonedds_cpp (Failed)
16 - test_count_matched__rmw_cyclonedds_cpp (Failed)
17 - test_get_actual_qos__rmw_cyclonedds_cpp (Failed)
22 - test_remap_integration__rmw_cyclonedds_cpp (Failed)
24 - test_publisher__rmw_cyclonedds_cpp (Failed)
25 - test_publisher_wait_all_ack__rmw_cyclonedds_cpp (Failed)
26 - test_service__rmw_cyclonedds_cpp (Failed)
27 - test_subscription__rmw_cyclonedds_cpp (Failed)
28 - test_events__rmw_cyclonedds_cpp (Failed)
31 - test_namespace__rmw_cyclonedds_cpp (Failed)
33 - test_network_flow_endpoints__rmw_cyclonedds_cpp (Failed)
34 - test_services__rmw_cyclonedds_cpp (Failed)
36 - test_client__rmw_fastrtps_cpp (Failed)
43 - test_graph__rmw_fastrtps_cpp (Failed)
44 - test_info_by_topic__rmw_fastrtps_cpp (Failed)
45 - test_count_matched__rmw_fastrtps_cpp (Failed)
46 - test_get_actual_qos__rmw_fastrtps_cpp (Failed)
51 - test_remap_integration__rmw_fastrtps_cpp (Failed)
53 - test_publisher__rmw_fastrtps_cpp (Failed)
54 - test_publisher_wait_all_ack__rmw_fastrtps_cpp (Failed)
55 - test_service__rmw_fastrtps_cpp (Failed)
56 - test_subscription__rmw_fastrtps_cpp (Failed)
57 - test_events__rmw_fastrtps_cpp (Failed)
60 - test_namespace__rmw_fastrtps_cpp (Failed)
62 - test_network_flow_endpoints__rmw_fastrtps_cpp (Failed)
63 - test_services__rmw_fastrtps_cpp (Failed)
65 - test_client__rmw_fastrtps_dynamic_cpp (Failed)
72 - test_graph__rmw_fastrtps_dynamic_cpp (Failed)
73 - test_info_by_topic__rmw_fastrtps_dynamic_cpp (Failed)
74 - test_count_matched__rmw_fastrtps_dynamic_cpp (Failed)
75 - test_get_actual_qos__rmw_fastrtps_dynamic_cpp (Failed)
80 - test_remap_integration__rmw_fastrtps_dynamic_cpp (Failed)
82 - test_publisher__rmw_fastrtps_dynamic_cpp (Failed)
83 - test_publisher_wait_all_ack__rmw_fastrtps_dynamic_cpp (Failed)
84 - test_service__rmw_fastrtps_dynamic_cpp (Failed)
85 - test_subscription__rmw_fastrtps_dynamic_cpp (Failed)
86 - test_events__rmw_fastrtps_dynamic_cpp (Failed)
89 - test_namespace__rmw_fastrtps_dynamic_cpp (Failed)
91 - test_network_flow_endpoints__rmw_fastrtps_dynamic_cpp (Failed)
92 - test_services__rmw_fastrtps_dynamic_cpp (Failed)
Additional information
I don't fully understand what's going on, but I'm pretty sure this code is wrong. It assumes the library name for a typesupport target is going to be "__", but that's an incorrect assumption. The first part is the target name passed to rosidl_generate_interfaces, not the package name.
rosidl_typesupport/rosidl_typesupport_c/src/type_support_dispatch.hpp
Lines 57 to 59 in 34f6e4b
| int ret = rcutils_snprintf( | |
| library_basename, 1023, "%s__%s", | |
| map->package_name, identifier); |