メンテナンス・トラブルシュート - pkg・ports アップデート関連 - No such file - i386-freebsd9 bdb.so
1. 結局 ruby をインストールしなおすことになったのだが ports の更新状況を見ていたら portupgrade-2.4.13_1,2 < needs updating (index has 2.4.14,2) になっていたので > portupgrade -vRr portupgrade したらば ・・・ ===> Staging for ruby21-bdb-0.6.6_4 ===> ruby21-bdb-0.6.6_4 depends on file: /usr/local/bin/ruby21 - found ===> Generating temporary packing list /usr/bin/install -c -m 0755 bdb.so /usr/ports/databases/ruby-bdb/work/stage/usr/local/lib/ruby/site_ruby/2.1/i386-freebsd8 installing default bdb libraries /usr/bin/strip /usr/ports/databases/ruby-bdb/work/stage/usr/local/lib/ruby/site_ruby/2.1/i386-freebsd9/bdb.so /usr/bin/strip: '/usr/ports/databases/ruby-bdb/work/stage/usr/local/lib/ruby/site_ruby/2.1/i386-freebsd9/bdb.so': No such file *** [post-install] Error code 1 Stop in /usr/ports/databases/ruby-bdb. *** [stage] Error code 1 Stop in /usr/ports/databases/ruby-bdb. とな。 ruby-bdb に依存しているのでそれを確認しているときにエラーとなった模様。 このシステムは 8.4 RELEASE を 9.3 RELEASE に freebsd-update したもので。そのときに i386-freebsd8/bdb.so が i386-freebsd9/bdb.so になっていなかったためだな・・・と。 これではあかんので /usr/ports/databases/ruby-bdb を clean して、make しなおしたら、今度は ===> Staging for ruby21-bdb-0.6.6_4 ===> ruby21-bdb-0.6.6_4 depends on file: /usr/local/bin/ruby21 - found ===> ruby21-bdb-0.6.6_4 depends on shared library: libdb-5.3.so - found (/usr/local/lib/libdb-5.3.so) ===> Generating temporary packing list /usr/bin/install -c -m 0755 bdb.so /usr/ports/databases/ruby-bdb/work/stage/usr/local/lib/ruby/site_ruby/2.1/i386-freebsd8 installing default bdb libraries /usr/bin/strip /usr/ports/databases/ruby-bdb/work/stage/usr/local/lib/ruby/site_ruby/2.1/i386-freebsd9/bdb.so /usr/bin/strip: '/usr/ports/databases/ruby-bdb/work/stage/usr/local/lib/ruby/site_ruby/2.1/i386-freebsd9/bdb.so': No such file *** [post-install] Error code 1 Stop in /usr/ports/databases/ruby-bdb. *** [stage] Error code 1 Stop in /usr/ports/databases/ruby-bdb. とな。どうも ruby21 を 1 からつくりなおさねばならぬらしい。 結局 cd /usr/ports/lang/ruby21 make clean make make reinstall cd /usr/ports/databases/ruby-bdb make clean make make reinstall portupgrade -vRr portupgrade の順に実行することで正常にアップグレードできました。
portupgrade-2.4.13_1,2 < needs updating (index has 2.4.14,2)
> portupgrade -vRr portupgrade
・・・ ===> Staging for ruby21-bdb-0.6.6_4 ===> ruby21-bdb-0.6.6_4 depends on file: /usr/local/bin/ruby21 - found ===> Generating temporary packing list /usr/bin/install -c -m 0755 bdb.so /usr/ports/databases/ruby-bdb/work/stage/usr/local/lib/ruby/site_ruby/2.1/i386-freebsd8 installing default bdb libraries /usr/bin/strip /usr/ports/databases/ruby-bdb/work/stage/usr/local/lib/ruby/site_ruby/2.1/i386-freebsd9/bdb.so /usr/bin/strip: '/usr/ports/databases/ruby-bdb/work/stage/usr/local/lib/ruby/site_ruby/2.1/i386-freebsd9/bdb.so': No such file *** [post-install] Error code 1 Stop in /usr/ports/databases/ruby-bdb. *** [stage] Error code 1 Stop in /usr/ports/databases/ruby-bdb.
===> Staging for ruby21-bdb-0.6.6_4 ===> ruby21-bdb-0.6.6_4 depends on file: /usr/local/bin/ruby21 - found ===> ruby21-bdb-0.6.6_4 depends on shared library: libdb-5.3.so - found (/usr/local/lib/libdb-5.3.so) ===> Generating temporary packing list /usr/bin/install -c -m 0755 bdb.so /usr/ports/databases/ruby-bdb/work/stage/usr/local/lib/ruby/site_ruby/2.1/i386-freebsd8 installing default bdb libraries /usr/bin/strip /usr/ports/databases/ruby-bdb/work/stage/usr/local/lib/ruby/site_ruby/2.1/i386-freebsd9/bdb.so /usr/bin/strip: '/usr/ports/databases/ruby-bdb/work/stage/usr/local/lib/ruby/site_ruby/2.1/i386-freebsd9/bdb.so': No such file *** [post-install] Error code 1 Stop in /usr/ports/databases/ruby-bdb. *** [stage] Error code 1 Stop in /usr/ports/databases/ruby-bdb.
cd /usr/ports/lang/ruby21 make clean make make reinstall cd /usr/ports/databases/ruby-bdb make clean make make reinstall portupgrade -vRr portupgrade