class_loader
class_loader copied to clipboard
shared library suffix returns `d.so` rather than just `.so` when using debug
This is a behavior inherited from poco:
http://pocoproject.org/docs/Poco.SharedLibrary.html#16662
This commonly doesn't work for us, so I will probably open a pull request to change the behavior of the shared library suffix function in class_loader to make that optional or remove it entirely.
Looking a bit into this it seems that we need to build poco with the definition POCO_NO_SHARED_LIBRARY_DEBUG_SUFFIX
https://github.com/pocoproject/poco/blob/558c7ff45fe32ffed02736b9732b4a9d8044aa53/Foundation/include/Poco/Config.h#L177
They don't expose that definition through CMake AFAICT so right now I'm tempted to extend the existing windows hack to the other platforms. https://github.com/ros/class_loader/blob/adcb526f86a627009fdb94ae04d45fafde3765e3/src/class_loader.cpp#L59-L65
The other option would be to host a modified version of Poco in the ros2 org and to compile it with that definition.
Maybe we should consider to support that use case rather than providing custom built packages to avoid the debug suffix?