2016年5月24日火曜日

FreeBSD にて depends on file: /usr/local/bin/perl5.20.2 - not found エラー

FreeBSD の ports のアップデートのうち、perl 関連の ports において、下記のような依存関係のエラーが発生して、アップデートが出来なくなっていました。
パッケージ名 -- depends on file: /usr/local/bin/perl5.20.2 - found

症状

perl5 関連の ports のアップデートやインストール時に perl5.20.3 がインストール済みにも係わらず、 perl5.20.2 を発見してインストール動作を試みるものの perl5.20.2 関連のディレクトリが存在しないとしてインストール・エラーとなってしまうものです。

下記にあるように perl5.20.2 の実行ファイルを消去して、さらに perl5.20.3 を再インストールしても次のように perl5.20.2 が存在しないとしてエラーが発生していました。
パッケージ名 -- depends on file: /usr/local/bin/perl5.20.2 - not found

原因

具体的にどうしてこんなことになってしまったのか不明ですが、perl5.20.2 を残したまま、perl5.20.3 がインストールされていました。
# ls /usr/local/bin/perl5*
/usr/local/bin/perl5
/usr/local/bin/perl5.20.2
/usr/local/bin/perl5.20.3

対策

すでに不要となった perl5.20.2 の実行ファイルを手動で消去した後、perl5 のバージョン管理ファイル(/usr/local/etc/perl5_version)を手動で訂正しました。

 perl5.20.2 の実行ファイルを消去
# rm /usr/local/bin/perl5.20.2

perl5 のバージョン管理ファイルを訂正
# vi /usr/local/etc/perl5_version

- 以下は編集内容 -
# Do not modify PERL_VERSION here, instead use DEFAULT_VERSIONS= perl5=5.20

PERL_VERSION=5.20.2
    ↓↓↓
PERL_VERSION=5.20.3


0 件のコメント:

コメントを投稿