ros2 / rosidl_typesupport

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

Service generator does not create symbol name for rosidl_typesupport_cpp #122

Open StefanFabian opened 3 years ago

StefanFabian commented 3 years ago

Bug report

Required Info:

Steps to reproduce issue

Build a service definition

Expected behavior

There should be a symbol rosidl_typesupport_cpp__get_service_type_support_handle__[package_name]__srv__[interface_name]

Actual behavior

There is no symbol rosidl_typesupport_cpp__get_service_type_support_handle__[package_name]__srv__[interface_name]

Additional information

rosidl_typesupport_introspection_cpp contains the following:

#ifdef __cplusplus
extern "C"
{
#endif

ROSIDL_TYPESUPPORT_INTROSPECTION_CPP_PUBLIC
const rosidl_service_type_support_t *
ROSIDL_TYPESUPPORT_INTERFACE__SERVICE_SYMBOL_NAME(rosidl_typesupport_introspection_cpp, example_interfaces, srv, AddTwoInts)() {
  return ::rosidl_typesupport_introspection_cpp::get_service_type_support_handle<example_interfaces::srv::AddTwoInts>();
}

#ifdef __cplusplus
}
#endif

the same should probably be in rosidl_typesupport_cpp but is missing.

I don't know where exactly this is generated, hence, I can't make a PR for this.

hidmic commented 2 years ago

@StefanFabian good catch! The service typesupport symbol is missing from srv__type_support.cpp.em. A bugfix would be most welcome.

StefanFabian commented 2 years ago

I actually did already create PRs to fix this for foxy and galactic. See #114 and #115.

StefanFabian commented 2 years ago

Any update on what's missing to get these PRs merged? @hidmic I can't release two large projects until that happens and it's really not a lot of code. I understand that you guys are busy and have to make sure nothing will break but it's been 9 months since I made that PR.