Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

shared library suffix returns d.so rather than just .so when using debug #31

Open
wjwwood opened this issue Nov 12, 2015 · 2 comments
Open

Comments

@wjwwood
Copy link
Member

wjwwood commented Nov 12, 2015

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.

@mikaelarguedas
Copy link
Member

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.

#if !defined(WIN32)
return Poco::SharedLibrary::suffix();
#else
// Return just .dll , as Poco::SharedLibrary::suffix() will return d.dll in debug mode.
// This isn't common for our usecase (instead debug libraries are placed in a `Debug` folder).
return ".dll";
#endif

The other option would be to host a modified version of Poco in the ros2 org and to compile it with that definition.

@dirk-thomas
Copy link
Member

Maybe we should consider to support that use case rather than providing custom built packages to avoid the debug suffix?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants