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

File name collision due to unversioned ruby shared library #638

Open
oysstu opened this issue Oct 17, 2024 · 2 comments
Open

File name collision due to unversioned ruby shared library #638

oysstu opened this issue Oct 17, 2024 · 2 comments
Assignees

Comments

@oysstu
Copy link

oysstu commented Oct 17, 2024

The ruby shared library is unversioned (i.e., /usr/lib/ruby/gz/math.so). Different major releases of gz-math therefore has a file with the same name and cannot be installed concurrently. Adding a major version to the shared library would fix this.
https://github.com/gazebosim/gz-math/blob/eeb17eae96b027af9497b099f706abf0637f96ec/src/ruby/CMakeLists.txt#L45C7-L45C25

I'm not a ruby user, so I can't properly test the implications of making the change.

@azeey azeey moved this from Inbox to In progress in Core development Jan 6, 2025
@scpeters
Copy link
Member

scpeters commented Jan 6, 2025

thanks for the bug report

Adding a major version to the shared library would fix this.

Yes, adding a major version to the shared library is one options but I believe this would also mean that the require (like import) statements would need the major version as well (see angle_example.rb)

I think we should do the following for our released packages:

@azeey
Copy link
Contributor

azeey commented Jan 6, 2025

I agree with @scpeters. Since the ruby-gz-math* packages are not part of the metapackages (e.g. gz-harmonic, gz-ionic), adding the conflict won't be a problem. This would mean that it will not be possible to install the Ruby bindings side by side, which is the case currently as pointed to by this issue, but this would make it official.

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

No branches or pull requests

3 participants