Create sdformat_urdf_plugin as SHARED instead of MODULE for macOS compatibility #22
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Technically speaking, when creating a library is only meant to be opened via
dlopen
(and not linked at link time)MODULE
is instead the correct library type. However, this does not work in pluginlib (see ros/pluginlib#200), so as a workaround to get this plugin to work on macOS, we changesdformat_urdf_plugin
to be aSHARED
library, not aMODULE
library. This also is aligned with what is done with the urdf_parser (see https://github.com/ros2/urdf/blob/1d257eb6a3fa34593c0da67f5d16cd0155d7d91b/urdf/CMakeLists.txt#L58). On Windows and Linux, changing from MODULE to SHARED does not change anything, as far as I know.A similar issue on Gazebo side is gazebosim/gazebo-classic#800 .