Skip to content

Missing dependencies on ruby-erb and ruby-racc

Description:

ruby 3.2 no longer depends on ruby-default-gems which depends on ruby-erb and ruby-racc.

Additional info:

  • extra-staging/ruby-webrick 1.8.1-3
  • extra-staging/ruby 3.2.4-

Steps to reproduce:

After enabling staging

$ pacman -S ruby-webrick
$ ruby -e 'require "webrick"'
<internal:/usr/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require': cannot load such file -- erb (LoadError)
Did you mean?  drb
	from <internal:/usr/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
	from /usr/lib/ruby/vendor_ruby/3.2.0/puppet/parser/templatewrapper.rb:3:in `<top (required)>'
	from /usr/lib/ruby/vendor_ruby/3.2.0/puppet/parser/scope.rb:7:in `require_relative'
	from /usr/lib/ruby/vendor_ruby/3.2.0/puppet/parser/scope.rb:7:in `<top (required)>'
	from /usr/lib/ruby/vendor_ruby/3.2.0/puppet/pops/evaluator/evaluator_impl.rb:1:in `require_relative'
	from /usr/lib/ruby/vendor_ruby/3.2.0/puppet/pops/evaluator/evaluator_impl.rb:1:in `<top (required)>'
	from /usr/lib/ruby/vendor_ruby/3.2.0/puppet/pops.rb:69:in `require_relative'
	from /usr/lib/ruby/vendor_ruby/3.2.0/puppet/pops.rb:69:in `<module:Evaluator>'
	from /usr/lib/ruby/vendor_ruby/3.2.0/puppet/pops.rb:63:in `<module:Pops>'
	from /usr/lib/ruby/vendor_ruby/3.2.0/puppet/pops.rb:12:in `<module:Puppet>'
	from /usr/lib/ruby/vendor_ruby/3.2.0/puppet/pops.rb:1:in `<top (required)>'
	from /usr/lib/ruby/vendor_ruby/3.2.0/puppet/parser/compiler.rb:8:in `require_relative'
	from /usr/lib/ruby/vendor_ruby/3.2.0/puppet/parser/compiler.rb:8:in `<top (required)>'
	from /usr/lib/ruby/vendor_ruby/3.2.0/puppet/parser.rb:6:in `require_relative'
	from /usr/lib/ruby/vendor_ruby/3.2.0/puppet/parser.rb:6:in `<top (required)>'
	from /usr/lib/ruby/vendor_ruby/3.2.0/puppet.rb:335:in `require_relative'
	from /usr/lib/ruby/vendor_ruby/3.2.0/puppet.rb:335:in `<top (required)>'
	from <internal:/usr/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
	from <internal:/usr/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
	from -e:1:in `<main>'

With ruby-erb installed the error changes to:

<internal:/usr/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require': cannot load such file -- racc/parser.rb (LoadError)
	from <internal:/usr/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
	from /usr/lib/ruby/vendor_ruby/3.2.0/puppet/pops/parser/eparser.rb:7:in `<top (required)>'
	from /usr/lib/ruby/vendor_ruby/3.2.0/puppet/pops.rb:83:in `require_relative'
	from /usr/lib/ruby/vendor_ruby/3.2.0/puppet/pops.rb:83:in `<module:Parser>'
	from /usr/lib/ruby/vendor_ruby/3.2.0/puppet/pops.rb:82:in `<module:Pops>'
	from /usr/lib/ruby/vendor_ruby/3.2.0/puppet/pops.rb:12:in `<module:Puppet>'
	from /usr/lib/ruby/vendor_ruby/3.2.0/puppet/pops.rb:1:in `<top (required)>'
	from /usr/lib/ruby/vendor_ruby/3.2.0/puppet/parser/compiler.rb:8:in `require_relative'
	from /usr/lib/ruby/vendor_ruby/3.2.0/puppet/parser/compiler.rb:8:in `<top (required)>'
	from /usr/lib/ruby/vendor_ruby/3.2.0/puppet/parser.rb:6:in `require_relative'
	from /usr/lib/ruby/vendor_ruby/3.2.0/puppet/parser.rb:6:in `<top (required)>'
	from /usr/lib/ruby/vendor_ruby/3.2.0/puppet.rb:335:in `require_relative'
	from /usr/lib/ruby/vendor_ruby/3.2.0/puppet.rb:335:in `<top (required)>'
	from <internal:/usr/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
	from <internal:/usr/lib/ruby/3.2.0/rubygems/core_ext/kernel_require.rb>:86:in `require'
	from -e:1:in `<main>'
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information