メンテナンス・トラブルシュート - portsdb - PkgDBTools::DBError

クラウディア 
1. 概要
2. 調査
3. portupgrade 再インストール

1. 概要

 2021年6月30日に発生。  「ports」を更新した後。

$ portsdb -Fu
Ignoring byebug-11.1.3 because its extensions are not built. Try: gem pristine byebug --version 11.1.3
Ignoring nokogiri-1.11.1 because its extensions are not built. Try: gem pristine nokogiri --version 1.11.1
Ignoring pg-1.2.3 because its extensions are not built. Try: gem pristine pg --version 1.2.3
Ignoring racc-1.5.2 because its extensions are not built. Try: gem pristine racc --version 1.5.2
portsdb: uninitialized constant PkgDBTools::DBError
Did you mean?  LoadError
*** Error code 1

Stop.
 てなことになります。

2. 調査

 検索して、下記サイトを見つけました。
portversion - PukiWiki」(2025年2月13日、リンク切れになりました)
 どうも、「ruby」の更新が原因のような・・・。  思い当たる節があります。  先日、バージョンは異なるものの「Ruby 2.7」を更新しました。

3. portupgrade 再インストール

 参考サイトに習って、「portupgrade」を再インストールしてみます。

cd /usr/ports/ports-mgmt/portupgrade
make deinstall clean
make
 するとこここで

/usr/ports/databases/ruby-bdb/work/stage/usr/local/share/examples/ruby27/bdb "! -empty")
====> Compressing man pages (compress-man)
===>  Installing for ruby27-bdb-0.6.6_8
===>  Checking if ruby27-bdb is already installed
===>   ruby27-bdb-0.6.6_8 is already installed
      You may wish to ''make deinstall'' and install this port again
      by ``make reinstall'' to upgrade it properly.
      If you really wish to overwrite the old port of ruby27-bdb
      without deleting it first, set the variable "FORCE_PKG_REGISTER"
      in your environment or the "make install" command line.
*** Error code 1

Stop.
make[3]: stopped in /usr/ports/databases/ruby-bdb
*** Error code 1

Stop.
make[2]: stopped in /usr/ports/databases/ruby-bdb
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/ports-mgmt/portupgrade
*** Error code 1

Stop.
make: stopped in /usr/ports/ports-mgmt/portupgrade
 では、「/usr/ports/databases/ruby-bdb」からじゃな。

cd /usr/ports/databases/ruby-bdb
make deinstall clean
make
make install
 で

cd /usr/ports/ports-mgmt/portupgrade
make deinstall clean
make
make install
 これで

portsdb -Fu
 結局、「portupgrade」と「ruby」の依存関係がうまく設定されていないことに依存するんじゃろうね。  メンテナンスされている方のご苦労を思うと、文句も言えませんが、困ったもんだ。
ハイスピードプラン