FreeBSD - メンテナンス・トラブルシュート - ruby - ruby32-gems-3.6.2 → 3.6.3
1. 概要 発生は、2025年2月4日です。 2. 状況 下記の状態です。 $ portversion -v | grep '<' [Reading data from pkg(8) ... - 650 packages found - done] ruby32-gems-3.6.2 < needs updating (port has 3.6.3) rubygem-psych-5.2.2 < needs updating (port has 5.2.3) rubygem-rdoc-6.10.0 < needs updating (port has 6.11.0) 環境によっては、「ruby32-gems」が依存する、もっとたくさんのものがアップグレード対象になっています。 それで、アップグレードしようとすると。 portupgrade -rR ruby32-gems [Reading data from pkg(8) ... - 650 packages found - done] [Gathering depends for devel/ruby-gems ................................................................ done] [Gathering depends for devel/rubygem-rdoc ............ done] [Gathering depends for textproc/rubygem-asciidoctor .. done] [Exclude up-to-date packages ............................. done] ---> Upgrading 'ruby32-gems-3.6.2' to 'ruby32-gems-3.6.3' (devel/ruby-gems) ---> Building '/usr/ports/devel/ruby-gems' ・・・ 略 ・・・ Installing ri documentation for rubygems-3.6.3 ERROR: While executing gem ... (NameError) uninitialized constant RDoc::Markup::Parser::SPACE_SEPARATED_LETTER_CLASS /usr/local/lib/ruby/gems/3.2/gems/rdoc-6.10.0/lib/rdoc/markup/parser.rb:221:in 'block in build_paragraph' /usr/local/lib/ruby/gems/3.2/gems/rdoc-6.10.0/lib/rdoc/markup/parser.rb:221:in 'build_paragraph' /usr/local/lib/ruby/gems/3.2/gems/rdoc-6.10.0/lib/rdoc/markup/parser.rb:407:in 'parse_text' ・・・ 略 ・・・ /usr/ports/devel/ruby-gems/work/rubygems-3.6.3/lib/rubygems/command_manager.rb:194:in 'process_args' /usr/ports/devel/ruby-gems/work/rubygems-3.6.3/lib/rubygems/command_manager.rb:152:in 'run' /usr/ports/devel/ruby-gems/work/rubygems-3.6.3/lib/rubygems/gem_runner.rb:57:in 'run' setup.rb:36:in '<main>' *** Error code 1 Stop. make[1]: stopped in /usr/ports/devel/ruby-gems *** Error code 1 Stop. make: stopped in /usr/ports/devel/ruby-gems egrep: empty (sub)expression ** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20250204-13834-cd0i7h env UPGRADE_TOOL=portupgrade UPGRADE_PORT=ruby32-gems-3.6.2 UPGRADE_PORT_VER=3.6.2 make ** Fix the problem and try again. ---> Skipping 'textproc/rubygem-psych' (rubygem-psych-5.2.2) because a requisite package 'ruby32-gems-3.6.2' (devel/ruby-gems) failed (specify -k to force) ---> Skipping 'devel/rubygem-rdoc' (rubygem-rdoc-6.10.0) because a requisite package 'rubygem-psych-5.2.2' (textproc/rubygem-psych) failed (specify -k to force) ** Listing the failed packages (-:ignored / *:skipped / !:failed) ! devel/ruby-gems (ruby32-gems-3.6.2) (unknown build error) * textproc/rubygem-psych (rubygem-psych-5.2.2) * devel/rubygem-rdoc (rubygem-rdoc-6.10.0) てなことになるのです。 3. 対策 あれこれやったのですが・・・。 最終的に。 Installing ri documentation for rubygems-3.6.3 ERROR: While executing gem ... (NameError) の時点で、エラーになることに着目して。 cd /usr/ports/devel/ruby-gems make config
$ portversion -v | grep '<' [Reading data from pkg(8) ... - 650 packages found - done] ruby32-gems-3.6.2 < needs updating (port has 3.6.3) rubygem-psych-5.2.2 < needs updating (port has 5.2.3) rubygem-rdoc-6.10.0 < needs updating (port has 6.11.0)
portupgrade -rR ruby32-gems
[Reading data from pkg(8) ... - 650 packages found - done] [Gathering depends for devel/ruby-gems ................................................................ done] [Gathering depends for devel/rubygem-rdoc ............ done] [Gathering depends for textproc/rubygem-asciidoctor .. done] [Exclude up-to-date packages ............................. done] ---> Upgrading 'ruby32-gems-3.6.2' to 'ruby32-gems-3.6.3' (devel/ruby-gems) ---> Building '/usr/ports/devel/ruby-gems' ・・・ 略 ・・・ Installing ri documentation for rubygems-3.6.3 ERROR: While executing gem ... (NameError) uninitialized constant RDoc::Markup::Parser::SPACE_SEPARATED_LETTER_CLASS /usr/local/lib/ruby/gems/3.2/gems/rdoc-6.10.0/lib/rdoc/markup/parser.rb:221:in 'block in build_paragraph' /usr/local/lib/ruby/gems/3.2/gems/rdoc-6.10.0/lib/rdoc/markup/parser.rb:221:in 'build_paragraph' /usr/local/lib/ruby/gems/3.2/gems/rdoc-6.10.0/lib/rdoc/markup/parser.rb:407:in 'parse_text' ・・・ 略 ・・・ /usr/ports/devel/ruby-gems/work/rubygems-3.6.3/lib/rubygems/command_manager.rb:194:in 'process_args' /usr/ports/devel/ruby-gems/work/rubygems-3.6.3/lib/rubygems/command_manager.rb:152:in 'run' /usr/ports/devel/ruby-gems/work/rubygems-3.6.3/lib/rubygems/gem_runner.rb:57:in 'run' setup.rb:36:in '<main>' *** Error code 1 Stop. make[1]: stopped in /usr/ports/devel/ruby-gems *** Error code 1 Stop. make: stopped in /usr/ports/devel/ruby-gems egrep: empty (sub)expression ** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20250204-13834-cd0i7h env UPGRADE_TOOL=portupgrade UPGRADE_PORT=ruby32-gems-3.6.2 UPGRADE_PORT_VER=3.6.2 make ** Fix the problem and try again. ---> Skipping 'textproc/rubygem-psych' (rubygem-psych-5.2.2) because a requisite package 'ruby32-gems-3.6.2' (devel/ruby-gems) failed (specify -k to force) ---> Skipping 'devel/rubygem-rdoc' (rubygem-rdoc-6.10.0) because a requisite package 'rubygem-psych-5.2.2' (textproc/rubygem-psych) failed (specify -k to force) ** Listing the failed packages (-:ignored / *:skipped / !:failed) ! devel/ruby-gems (ruby32-gems-3.6.2) (unknown build error) * textproc/rubygem-psych (rubygem-psych-5.2.2) * devel/rubygem-rdoc (rubygem-rdoc-6.10.0)
Installing ri documentation for rubygems-3.6.3 ERROR: While executing gem ... (NameError)
cd /usr/ports/devel/ruby-gems make config
上記のチェックを外します。 ドキュメントなくても、実害はないでしょ。 cd /usr/ports/devel/ruby-gems make clean make make reinstall 後は、依存するものをアップグレードして、とりあえず、落ち着きました。
cd /usr/ports/devel/ruby-gems make clean make make reinstall