portversion でバージョンが一致していないにもかかわらず次のエラーが出る場合の対策メモです(環境はFreeBSD4.x)。
p5-MIME-Base64-3.07 is already installed
You may wish to “make deinstal and install this port again
by “make reinstall to upgrade it properly.
If you really wish to overwrite the old port of converters/p5-MIME-Base64
without deleting it first, set the variable “FORCE_PKG_REGISTER”
in your environment or the “make install” command line.
*** Error code 1
Stop in /usr/ports/converters/p5-MIME-Base64.
*** Error code 1
こういうエラーが出る都度
pkg_deinstall -f “パッケージ名_バージョン”
portinstall “portのパッケージパス”
とかずっとやっていたのですが、perl 回りで頻発していて、へき易してきたので
説明にある通り環境変数 “FORCE_PKG_REGISTER” をセットして ad-hoc に回避。
# vi /usr/local/etc/pkgtools.conf
module PkgConfig の下あたりに
ENV[‘FORCE_PKG_REGISTER’] = ‘yes’
を追加して再度 portupgrade でエラーが出なくなります。
原因については未確認ですが、他の環境で発生しないなら cpan スクリプトでインストールしたモジュールあたりが原因かなと推測してますが、どうなんでしょう。