Issue #14002 has been updated by nobu (Nobuyoshi Nakada).


zdohnal (Zdenek Dohnal) wrote:
> If LIBRUBY_SO really doesn't provide SONAME, the issue is there isn't any other ways how to get SONAME ("libruby.so.2.4") by rbconfig (I humbly apologize, but using "hacks" like splitting output of rbconfig[LIBRUBY_ALIAS] doesn't look like proper solution).

We have provided just `LIBRUBYARG`, and expected `SONAME` to be resolved by the linker.
That is, we haven't considered the case loading ruby by `dlopen` with the specific version.
So there is no dedicated variables, `LIBRUBY_ALIAS` is the only way right now.

> 1) stop bumping teeny number of soname like it was done in the past (I don't see reason why bumping soname number - changing soname should indicate change API/ABI, which makes applications, which uses Ruby, non-functional, so these application needs to be rebuild with new Ruby). Or there weren't such changes between teeny releases in the past like they are now between 2.4.0 and 2.4.1, and 2.4.1 and 2.4.2?

I think there were no such changes.

> 2) provide config key for rbconfig method, which returns exactly SONAME (for current release libruby.so.2.4) - something like LIBRUBY_SO_NAME

I prefer this, and have made a patch for `LIBRUBY_SONAME` today.
Though I took the name from `-soname` option, is an underscore between `SO` and `NAME` preferable?

----------------------------------------
Bug #14002: libruby soname is changing in Ruby 2.4.x while it should always be libruby.so.2.4.0
https://bugs.ruby-lang.org/issues/14002#change-67187

* Author: vo.x (Vit Ondruch)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-linux]
* Backport: 2.3: UNKNOWN, 2.4: REQUIRED
----------------------------------------
Since the Ruby 2.4.x keeps ABI compatibility with Ruby 2.4.0 (I hope at least), the so name should keep the libruby.so.2.4.0 during the whole Ruby 2.4 lifetime. This always used to be true, while in Ruby 2.4, the soname is surprisingly changing (and it affects Fedora users [1]).

Actually this is not just about the soname, the RbConfig::CONFIG["TEENY"] value is impacted by this as well. This was always "0" since the patch releases were abandoned. But now it changes.

I tried to revert r53566, r53500 and r5347 but apparently, this was not enough :/


[1]: https://bugzilla.redhat.com/show_bug.cgi?id=1499928



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>