Re: git: 097770c474d4 - main - Mk/bsd.default-versions.mk: Change default version of Ruby

From: Matthias Fechner <mfechner_at_freebsd.org>
Date: Thu, 16 Mar 2023 07:58:46 UTC
Am 16.03.2023 um 08:54 schrieb Yasuhiro Kimura:
> 1. According to the bug report runtime error happens with following
>     error message.
>
>     LoadError: cannot load such file -- net/smtp
>
> 2. There is following entry in the "Standard libraries updates"
>     section of Ruby 3.1.0 Release Notes
>     (https://www.ruby-lang.org/en/news/2021/12/25/ruby-3-1-0-released/)
>
>     -----------------------------------------------------------------
>     The following default gems are now bundled gems. You need to add
>     the following libraries to Gemfile under the bundler environment.
>     
>     * net-ftp 0.1.3
>     * net-imap 0.2.2
>     * net-pop 0.1.1
>     * net-smtp 0.3.1
>     * matrix 0.4.2
>     * prime 0.1.2
>     * debug 1.4.0
>     -----------------------------------------------------------------
>
> 3. Our Ruby ports (lang/rubyXY) don't include bundled gems.
>
> So it seems www/gitlab-ce and/or its dependencies implicitly require
> net-smtp without adding it to Gemfile.

Thanks for this, I added now net-smtp but now I get another error message:
root@gitlab:~ # su -l git -c "cd /usr/local/www/gitlab-ce && rake 
db:migrate RAILS_ENV=production --trace"
** Invoke db:migrate (first_time)
** Invoke db:load_config (first_time)
** Invoke environment (first_time)
** Execute environment
rake aborted!
Psych::BadAlias: Unknown alias: base
/usr/local/lib/ruby/3.1/psych/visitors/to_ruby.rb:430:in 
`visit_Psych_Nodes_Alias'
/usr/local/lib/ruby/3.1/psych/visitors/visitor.rb:30:in `visit'
/usr/local/lib/ruby/3.1/psych/visitors/visitor.rb:6:in `accept'
/usr/local/lib/ruby/3.1/psych/visitors/to_ruby.rb:35:in `accept'
/usr/local/lib/ruby/3.1/psych/visitors/to_ruby.rb:345:in `block in 
revive_hash'
/usr/local/lib/ruby/3.1/psych/visitors/to_ruby.rb:343:in `each'
/usr/local/lib/ruby/3.1/psych/visitors/to_ruby.rb:343:in `each_slice'
/usr/local/lib/ruby/3.1/psych/visitors/to_ruby.rb:343:in `revive_hash'
/usr/local/lib/ruby/3.1/psych/visitors/to_ruby.rb:167:in 
`visit_Psych_Nodes_Mapping'
/usr/local/lib/ruby/3.1/psych/visitors/visitor.rb:30:in `visit'
/usr/local/lib/ruby/3.1/psych/visitors/visitor.rb:6:in `accept'
/usr/local/lib/ruby/3.1/psych/visitors/to_ruby.rb:35:in `accept'
/usr/local/lib/ruby/3.1/psych/visitors/to_ruby.rb:345:in `block in 
revive_hash'
/usr/local/lib/ruby/3.1/psych/visitors/to_ruby.rb:343:in `each'
/usr/local/lib/ruby/3.1/psych/visitors/to_ruby.rb:343:in `each_slice'
/usr/local/lib/ruby/3.1/psych/visitors/to_ruby.rb:343:in `revive_hash'
/usr/local/lib/ruby/3.1/psych/visitors/to_ruby.rb:167:in 
`visit_Psych_Nodes_Mapping'
/usr/local/lib/ruby/3.1/psych/visitors/visitor.rb:30:in `visit'
/usr/local/lib/ruby/3.1/psych/visitors/visitor.rb:6:in `accept'
/usr/local/lib/ruby/3.1/psych/visitors/to_ruby.rb:35:in `accept'
/usr/local/lib/ruby/3.1/psych/visitors/to_ruby.rb:318:in 
`visit_Psych_Nodes_Document'
/usr/local/lib/ruby/3.1/psych/visitors/visitor.rb:30:in `visit'
/usr/local/lib/ruby/3.1/psych/visitors/visitor.rb:6:in `accept'
/usr/local/lib/ruby/3.1/psych/visitors/to_ruby.rb:35:in `accept'
/usr/local/lib/ruby/3.1/psych.rb:334:in `safe_load'
/usr/local/lib/ruby/3.1/psych.rb:369:in `load'
/usr/local/lib/ruby/gems/3.1/gems/settingslogic-2.0.9/lib/settingslogic.rb:103:in 
`initialize'
/usr/local/lib/ruby/gems/3.1/gems/settingslogic-2.0.9/lib/settingslogic.rb:60:in 
`new'
/usr/local/lib/ruby/gems/3.1/gems/settingslogic-2.0.9/lib/settingslogic.rb:60:in 
`instance'
/usr/local/lib/ruby/gems/3.1/gems/settingslogic-2.0.9/lib/settingslogic.rb:37:in 
`[]'
/usr/local/www/gitlab-ce/config/initializers/1_settings.rb:8:in `<top 
(required)>'
/usr/local/lib/ruby/gems/3.1/gems/railties-6.1.7.2/lib/rails/engine.rb:681:in 
`load'
/usr/local/lib/ruby/gems/3.1/gems/railties-6.1.7.2/lib/rails/engine.rb:681:in 
`block in load_config_initializer'
/usr/local/lib/ruby/gems/3.1/gems/activesupport-6.1.7.2/lib/active_support/notifications.rb:205:in 
`instrument'
/usr/local/lib/ruby/gems/3.1/gems/railties-6.1.7.2/lib/rails/engine.rb:680:in 
`load_config_initializer'
/usr/local/lib/ruby/gems/3.1/gems/railties-6.1.7.2/lib/rails/engine.rb:634:in 
`block (2 levels) in <class:Engine>'
/usr/local/lib/ruby/gems/3.1/gems/railties-6.1.7.2/lib/rails/engine.rb:633:in 
`each'
/usr/local/lib/ruby/gems/3.1/gems/railties-6.1.7.2/lib/rails/engine.rb:633:in 
`block in <class:Engine>'
/usr/local/lib/ruby/gems/3.1/gems/railties-6.1.7.2/lib/rails/initializable.rb:32:in 
`instance_exec'
/usr/local/lib/ruby/gems/3.1/gems/railties-6.1.7.2/lib/rails/initializable.rb:32:in 
`run'
/usr/local/lib/ruby/gems/3.1/gems/railties-6.1.7.2/lib/rails/initializable.rb:61:in 
`block in run_initializers'
/usr/local/lib/ruby/3.1/tsort.rb:228:in `block in tsort_each'
/usr/local/lib/ruby/3.1/tsort.rb:350:in `block (2 levels) in 
each_strongly_connected_component'
/usr/local/lib/ruby/3.1/tsort.rb:422:in `block (2 levels) in 
each_strongly_connected_component_from'
/usr/local/lib/ruby/3.1/tsort.rb:431:in 
`each_strongly_connected_component_from'
/usr/local/lib/ruby/3.1/tsort.rb:421:in `block in 
each_strongly_connected_component_from'
/usr/local/lib/ruby/gems/3.1/gems/railties-6.1.7.2/lib/rails/initializable.rb:50:in 
`each'
/usr/local/lib/ruby/gems/3.1/gems/railties-6.1.7.2/lib/rails/initializable.rb:50:in 
`tsort_each_child'
/usr/local/lib/ruby/3.1/tsort.rb:415:in `call'
/usr/local/lib/ruby/3.1/tsort.rb:415:in 
`each_strongly_connected_component_from'
/usr/local/lib/ruby/3.1/tsort.rb:349:in `block in 
each_strongly_connected_component'
/usr/local/lib/ruby/3.1/tsort.rb:347:in `each'
/usr/local/lib/ruby/3.1/tsort.rb:347:in `call'
/usr/local/lib/ruby/3.1/tsort.rb:347:in `each_strongly_connected_component'
/usr/local/lib/ruby/3.1/tsort.rb:226:in `tsort_each'
/usr/local/lib/ruby/3.1/tsort.rb:205:in `tsort_each'
/usr/local/lib/ruby/gems/3.1/gems/railties-6.1.7.2/lib/rails/initializable.rb:60:in 
`run_initializers'
/usr/local/lib/ruby/gems/3.1/gems/railties-6.1.7.2/lib/rails/application.rb:391:in 
`initialize!'
/usr/local/www/gitlab-ce/config/environment.rb:7:in `<top (required)>'
/usr/local/lib/ruby/gems/3.1/gems/zeitwerk-2.6.6/lib/zeitwerk/kernel.rb:38:in 
`require'
/usr/local/lib/ruby/gems/3.1/gems/zeitwerk-2.6.6/lib/zeitwerk/kernel.rb:38:in 
`require'
/usr/local/lib/ruby/gems/3.1/gems/activesupport-6.1.7.2/lib/active_support/dependencies.rb:332:in 
`block in require'
/usr/local/lib/ruby/gems/3.1/gems/activesupport-6.1.7.2/lib/active_support/dependencies.rb:299:in 
`load_dependency'
/usr/local/lib/ruby/gems/3.1/gems/activesupport-6.1.7.2/lib/active_support/dependencies.rb:332:in 
`require'
/usr/local/lib/ruby/gems/3.1/gems/railties-6.1.7.2/lib/rails/application.rb:367:in 
`require_environment!'
/usr/local/lib/ruby/gems/3.1/gems/railties-6.1.7.2/lib/rails/application.rb:533:in 
`block in run_tasks_blocks'
/usr/local/lib/ruby/gems/3.1/gems/rake-13.0.6/lib/rake/task.rb:281:in 
`block in execute'
/usr/local/lib/ruby/gems/3.1/gems/rake-13.0.6/lib/rake/task.rb:281:in `each'
/usr/local/lib/ruby/gems/3.1/gems/rake-13.0.6/lib/rake/task.rb:281:in 
`execute'
/usr/local/lib/ruby/gems/3.1/gems/sentry-ruby-core-5.1.1/lib/sentry/rake.rb:24:in 
`execute'
/usr/local/lib/ruby/gems/3.1/gems/rake-13.0.6/lib/rake/task.rb:219:in 
`block in invoke_with_call_chain'
/usr/local/lib/ruby/gems/3.1/gems/rake-13.0.6/lib/rake/task.rb:199:in 
`synchronize'
/usr/local/lib/ruby/gems/3.1/gems/rake-13.0.6/lib/rake/task.rb:199:in 
`invoke_with_call_chain'
/usr/local/lib/ruby/gems/3.1/gems/rake-13.0.6/lib/rake/task.rb:243:in 
`block in invoke_prerequisites'
/usr/local/lib/ruby/gems/3.1/gems/rake-13.0.6/lib/rake/task.rb:241:in `each'
/usr/local/lib/ruby/gems/3.1/gems/rake-13.0.6/lib/rake/task.rb:241:in 
`invoke_prerequisites'
/usr/local/lib/ruby/gems/3.1/gems/rake-13.0.6/lib/rake/task.rb:218:in 
`block in invoke_with_call_chain'
/usr/local/lib/ruby/gems/3.1/gems/rake-13.0.6/lib/rake/task.rb:199:in 
`synchronize'
/usr/local/lib/ruby/gems/3.1/gems/rake-13.0.6/lib/rake/task.rb:199:in 
`invoke_with_call_chain'
/usr/local/lib/ruby/gems/3.1/gems/rake-13.0.6/lib/rake/task.rb:243:in 
`block in invoke_prerequisites'
/usr/local/lib/ruby/gems/3.1/gems/rake-13.0.6/lib/rake/task.rb:241:in `each'
/usr/local/lib/ruby/gems/3.1/gems/rake-13.0.6/lib/rake/task.rb:241:in 
`invoke_prerequisites'
/usr/local/lib/ruby/gems/3.1/gems/rake-13.0.6/lib/rake/task.rb:218:in 
`block in invoke_with_call_chain'
/usr/local/lib/ruby/gems/3.1/gems/rake-13.0.6/lib/rake/task.rb:199:in 
`synchronize'
/usr/local/lib/ruby/gems/3.1/gems/rake-13.0.6/lib/rake/task.rb:199:in 
`invoke_with_call_chain'
/usr/local/lib/ruby/gems/3.1/gems/rake-13.0.6/lib/rake/task.rb:188:in 
`invoke'
/usr/local/lib/ruby/gems/3.1/gems/rake-13.0.6/lib/rake/application.rb:160:in 
`invoke_task'
/usr/local/lib/ruby/gems/3.1/gems/rake-13.0.6/lib/rake/application.rb:116:in 
`block (2 levels) in top_level'
/usr/local/lib/ruby/gems/3.1/gems/rake-13.0.6/lib/rake/application.rb:116:in 
`each'
/usr/local/lib/ruby/gems/3.1/gems/rake-13.0.6/lib/rake/application.rb:116:in 
`block in top_level'
/usr/local/lib/ruby/gems/3.1/gems/rake-13.0.6/lib/rake/application.rb:125:in 
`run_with_threads'
/usr/local/lib/ruby/gems/3.1/gems/rake-13.0.6/lib/rake/application.rb:110:in 
`top_level'
/usr/local/lib/ruby/gems/3.1/gems/rake-13.0.6/lib/rake/application.rb:83:in 
`block in run'
/usr/local/lib/ruby/gems/3.1/gems/rake-13.0.6/lib/rake/application.rb:186:in 
`standard_exception_handling'
/usr/local/lib/ruby/gems/3.1/gems/rake-13.0.6/lib/rake/application.rb:80:in 
`run'
/usr/local/lib/ruby/gems/3.1/gems/rake-13.0.6/exe/rake:27:in `<top 
(required)>'
/usr/local/bin/rake:25:in `load'
/usr/local/bin/rake:25:in `<main>'
Tasks: TOP => db:migrate => db:load_config => environment

Gruß
Matthias

-- 

"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs, and the universe trying to
produce bigger and better idiots. So far, the universe is winning." --
Rich Cook