Bug 26285 - ruby 2.7 scripts and irb fail to start properly
Summary: ruby 2.7 scripts and irb fail to start properly
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: All Linux
Priority: Normal major
Target Milestone: ---
Assignee: Mageia Bug Squad
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-03-02 20:48 CET by Len Lawrence
Modified: 2020-03-03 10:57 CET (History)
0 users

See Also:
Source RPM: ruby-2.7.0-25.mga8.src.rpm
CVE:
Status comment:


Attachments

Description Len Lawrence 2020-03-02 20:48:02 CET
Description of problem:
Hoping that this report is not premature given that ruby 2.7 has only just been released in mga8 - if so please ignore this report.
Some of my local scripts and probably all of them fail as soon as they start.  It seems to be a general problem because irb fails with exactly the same messages:
$ ruby wv.rb 1200
Traceback (most recent call last):
	2: from <internal:gem_prelude>:2:in `<internal:gem_prelude>'
	1: from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:92:in `require'
/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- did_you_mean (LoadError)

If this is not a problem at the user's end then I would say this is fairly serious and needs to be fixed.
These are the installed RPMs.  Two versions of the library are present.
$ rpm -qa | grep ruby | grep mga8
lib64ruby2.7-2.7.0-25.mga8
ruby-tk-0.2.0-5.mga8
ruby-psych-3.1.0-25.mga8
ruby-devel-2.7.0-25.mga8
ruby-irb-2.7.0-25.mga8
ruby-json-2.3.0-25.mga8
ruby-rdoc-6.2.1-25.mga8
ruby-RubyGems-3.1.2-25.mga8
ruby-2.7.0-25.mga8
ruby-doc-2.7.0-25.mga8
ruby-openssl-2.1.2-25.mga8
ruby-io-console-0.5.3-25.mga8
lib64ruby2.5-2.5.7-22.mga8

$ irb
Traceback (most recent call last):
	2: from <internal:gem_prelude>:2:in `<internal:gem_prelude>'
	1: from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:92:in `require'
/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- did_you_mean (LoadError)

There does appear to be a difference between the code for ruby 2.5 and ruby 2.7 for that file, as might be expected.


Version-Release number of selected component (if applicable):
Ruby version: 2.7.0p0
$ rpm -qi ruby-RubyGems
ruby-2.7.0-25.mga8.src.rpm


How reproducible:
Always, as far as I can see.  Shall follow up on that if necessary.

Steps to Reproduce:
1. Run any ruby script or irb on the commandline.
2. Expect to see gem_prelude messages and a LoadError
3.
Len Lawrence 2020-03-02 20:49:25 CET

Source RPM: (none) => ruby-2.7.0-25.mga8.src.rpm

Comment 1 Len Lawrence 2020-03-02 22:24:33 CET
Looks like the report was premature.  The version of ruby which just came down seems to cure the problem.  The only trouble now is with tk but that would need its own bug.  For what it is worth, this is the error:
$ irb
irb(main):001:0> require 'tk'
Traceback (most recent call last):
       10: from /usr/bin/irb:23:in `<main>'
        9: from /usr/bin/irb:23:in `load'
        8: from /usr/share/gems/gems/irb-1.2.1/exe/irb:11:in `<top (required)>'
        7: from (irb):1
        6: from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:156:in `require'
        5: from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:168:in `rescue in require'
        4: from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:168:in `require'
        3: from /usr/share/gems/gems/tk-0.2.0/lib/tk.rb:7:in `<top (required)>'
        2: from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:92:in `require'
        1: from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:92:in `require'
LoadError (incompatible library version - /usr/lib64/gems/ruby/tk-0.2.0/tcltklib.so)
irb(main):002:0>
Comment 2 Len Lawrence 2020-03-03 10:57:52 CET
Fault reported in comment 1 has also been fixed.  Fantastique!
Closing this bug.

Status: NEW => RESOLVED
Resolution: (none) => FIXED


Note You need to log in before you can comment on or make changes to this bug.