Bug 26285

Summary: ruby 2.7 scripts and irb fail to start properly
Product: Mageia Reporter: Len Lawrence <tarazed25>
Component: RPM PackagesAssignee: Mageia Bug Squad <bugsquad>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: Normal    
Version: Cauldron   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Source RPM: ruby-2.7.0-25.mga8.src.rpm CVE:
Status comment:

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