FS#70635 - Ruby2.7 libraries names seem wrong

Attached to Project: Community Packages
Opened by Daniel Zaoui (jackdanielz) - Thursday, 29 April 2021, 05:17 GMT
Last edited by Doug Newgard (Scimmia) - Thursday, 29 April 2021, 20:36 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To No-one
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
Programs such as dislocker link with ruby2.7. However, the execution fails:
dislocker: error while loading shared libraries: libruby.so.2.7: cannot open shared object file: No such file or directory

The libraries for ruby 2.7:
usr/lib/libruby-2.7.so
usr/lib/libruby-2.7.so.2.7
usr/lib/libruby-2.7.so.2.7.3

For Ruby 3.0.1:
usr/lib/libruby.so
usr/lib/libruby.so.3.0
usr/lib/libruby.so.3.0.1

If the symbolic link 'libruby.so.2.7' is created to usr/lib/libruby-2.7.so, dislocker works.

Is the naming intented?

Steps to reproduce:
Just install dislocker and run it
This task depends upon

Closed by  Doug Newgard (Scimmia)
Thursday, 29 April 2021, 20:36 GMT
Reason for closing:  Not a bug
Comment by loqs (loqs) - Thursday, 29 April 2021, 15:56 GMT
You built dislocker from AUR when ruby was version 2.7 and in that build libdislocker.so is linked to libruby.so.2.7
Ruby is now 3.0 but you can not rebuild dislocker as the PKGBUILD has not been updated to apply [1].
The PKGBUILD also can not build against ruby2.7 without changes. So you are using the symlink.

Not a bug in ruby or ruby2.7.

[1] https://github.com/Aorimn/dislocker/commit/77fcdd8e00e6934d4e503aaf9743d563f249129d
Comment by Daniel Zaoui (jackdanielz) - Thursday, 29 April 2021, 17:28 GMT
You are right, I tried to build dislocker after I opened the bug and it failed.

I was more wondering regarding the naming of the libraries. libruby-2.7.so.2.7 just seems weird but if it is intended, so I am ok :-)
Comment by Doug Newgard (Scimmia) - Thursday, 29 April 2021, 20:36 GMT
The problem there is that if you install ruby2.7 without ruby, ldconfig would create the libruby.so symlink, creating a conflict with ruby.

Loading...