Issue #14002 has been updated by zdohnal (Zdenek Dohnal).


From Vim configure.ac:

libruby=`$vi_cv_path_ruby -r rbconfig -e "puts $ruby_rbconfig::CONFIG[['LIBRUBY_SO']]"`

I thought LIBRUBY_SO provides SONAME of libruby (sorry, that fact it is actually provides name of .so file, IMHO it's not very intuitive). This way of getting libruby is in upstream since 7.3.678, they used RUBY_SO_NAME before (which returns "ruby"). 
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).

So I see two ways of solving it:
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?
2) provide config key for rbconfig method, which returns exactly 'libruby.so.2.4'

----------------------------------------
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-67184

* 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>