Project

General

Profile

Actions

Bug #19687

closed

Should a development version of the standard library be included in ruby/ruby?

Added by jaruga (Jun Aruga) 12 months ago. Updated 12 months ago.

Status:
Closed
Target version:
-
ruby -v:
ruby 3.3.0dev (2023-05-22T03:58:17Z master bd786e7896) [x86_64-linux]
[ruby-core:113601]

Description

The stringio gem uses the value of the STRINGIO_VERSION as the gem version.

https://github.com/ruby/ruby/blob/31ac8efca8ecb574e1e7b7c32cce54cb1b97f19a/ext/stringio/stringio.gemspec#L15
https://github.com/ruby/ruby/blob/31ac8efca8ecb574e1e7b7c32cce54cb1b97f19a/ext/stringio/stringio.c#L15

#define STRINGIO_VERSION "3.0.7"

It seems that that stringio on the current master branch in ruby/ruby sets the version 3.0.7 that doesn't exist in the RubyGems https://rubygems.org/gems/stringio by the commit https://github.com/ruby/ruby/commit/67743d582317544d2c830b63d3423b04bad185a7.

And I see that this causes raising an error when running bundle install on ruby/openssl with Ruby on the master branch. I captured the Gemeifile.lock by bundle lock. And I see the rdoc depending on psych depending on stringio.

The workaround was to add gem "stringio", "< 3.0.7" to the Gemfile. However, it's not convenient. Is it an expected behavior? Or should the ruby/ruby always merge the static version of the ruby/* (upstream standard libraries such as "stringio") rater than the development version?

$ which ruby
~/.local/ruby-bd786e7896/bin/ruby

$ ruby -v
ruby 3.3.0dev (2023-05-22T03:58:17Z master bd786e7896) [x86_64-linux]

$ pwd
/home/jaruga/git/ruby/openssl

$ bundle install --standalone
...
stringio-3.0.7 is built in to Ruby, and can't be cached because your Gemfile doesn't have any sources that contain it.
...
Bundler::GemNotFound: Could not find stringio-3.0.7.gem for installation
  /home/jaruga/.local/ruby-bd786e7896/lib/ruby/3.3.0+0/bundler/source/rubygems.rb:157:in
`install'
/home/jaruga/.local/ruby-bd786e7896/lib/ruby/3.3.0+0/bundler/installer/gem_installer.rb:54:in
`install'
/home/jaruga/.local/ruby-bd786e7896/lib/ruby/3.3.0+0/bundler/installer/gem_installer.rb:16:in
`install_from_spec'
/home/jaruga/.local/ruby-bd786e7896/lib/ruby/3.3.0+0/bundler/installer/parallel_installer.rb:156:in
`do_install'
/home/jaruga/.local/ruby-bd786e7896/lib/ruby/3.3.0+0/bundler/installer/parallel_installer.rb:147:in
`block in worker_pool'
  /home/jaruga/.local/ruby-bd786e7896/lib/ruby/3.3.0+0/bundler/worker.rb:62:in `apply_func'
/home/jaruga/.local/ruby-bd786e7896/lib/ruby/3.3.0+0/bundler/worker.rb:57:in `block in
process_queue'
  <internal:kernel>:187:in `loop'
  /home/jaruga/.local/ruby-bd786e7896/lib/ruby/3.3.0+0/bundler/worker.rb:54:in `process_queue'
/home/jaruga/.local/ruby-bd786e7896/lib/ruby/3.3.0+0/bundler/worker.rb:90:in `block (2
levels) in create_threads'

An error occurred while installing stringio (3.0.7), and Bundler cannot continue.
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0