<< あるアプリケーション | top | Seagate、最大2TBのストレージ向けHDD「Constellation」 >>

portsのperlが5.8.9に

なにも考えずにportupgrade -Rraやったら(←いけません)portsでインストールされていたperlモジュールのの更新がボロボロ失敗する。なぜかと思ったらperlが5.8.8→5.8.9に更新されていて、モジュールのインストールパスが変わっていたからでした。

モジュールAがモジュールBに依存していてAが更新されていた場合、

  1. Aのmake中に依存しているBのファイルを探す。perlはすでに更新されているので/usr/local/lib/perl5/site_perlを見る→当然無い
  2. Bがインストールされていないと判断してインストールしようとする
  3. しかしBはすでにインストールなので失敗
  4. 依存するモジュールのインストールに失敗したのでAも失敗

と。

UPDATINGに書いてあるとおり、perlを更新した後に一緒にインストールされるperl-after-upgradeってスクリプトを走らせると、関連ファイルをごっそり移動して/var/db/pkgの情報も書き換えてくれるようです。もしくは/usr/local/lib/perl5/site_perl/5.8.8にファイルを置くportsを全部portupgrade -f するか。

教訓:UPDATING読め

2009/02/03 20:33更新

この記事にコメントする:
:
:(spamよけのダミーです。入力しないでください)

この記事のトラックバックURL: http://www.sonorilo.net/tb/2616

タグ

www.flickr.com
This is a Flickr badge showing public items from suzukis tagged with japan. Make your own badge here.

最近の話題 RSS feed

最近のコメント

この日記のはてなブックマーク数
メール("no-spam."を削除してください)