原因はさっぱり。でも、一応解決。
現象は以下。
$ sudo port upgrade installed ---> Activating zlib 1.2.3_1 Error: Activating zlib 1.2.3_1 failed: Image error: Source file /opt/local/var/macports/software/zlib/1.2.3_1 does not appear to exist (cannot lstat it). Unable to activate port zlib.
ん〜。Activateに失敗しているらしいが・・・。対処方法が全くわからない・・・orz
以下、試行錯誤。
$ sudo port activate zlib Password: ---> Activating zlib ---> The following versions of zlib are currently installed: ---> zlib @1.2.3_0 ---> zlib @1.2.3_1 Error: port activate failed: Registry error: Please specify the full version as recorded in the port registry.
どうやら二つのバージョンが入っているらしい。
でも、両方とも有効でないのは気になる。
$ sudo port activate zlib @1.2.3_1 ---> Activating zlib 1.2.3_1 Error: port activate failed: Image error: Source file /opt/local/var/macports/software/zlib/1.2.3_1 does not appear to exist (cannot lstat it). Unable to activate port zlib. $ sudo port activate zlib @1.2.3_0 ---> Activating zlib 1.2.3_0
なぜか、1.2.3_1は有効化できない。が、1.2.3_0は有効化可能。
どうしようもないので、2chの力を借りる。
Macportのオプションに強制実行の-fオプションというものがあることが判明。
$ sudo port -f uninstall zlib @1.2.3_1 Password: ---> Unable to uninstall zlib 1.2.3_1, the following ports depend on it: ---> openssl ---> python25 ---> openssl ---> ruby Warning: Uninstall forced. Proceeding despite dependencies. ---> Uninstalling zlib 1.2.3_1
お。消えた。
元凶がいなくなったところでupgrade。
s-kazama-nokonpyuta:/opt/local/bin koheiyamamoto$ sudo port upgrade installed ---> Activating zlib 1.2.3_0 ---> Deactivating zlib 1.2.3_0 ---> Installing zlib 1.2.3_1 ---> Activating zlib 1.2.3_1 ---> Cleaning zlib
お。有効になった。試しにもう一度upgradeしてみたが、今度はエラー出ず。
というわけで結論。
パッケージがおかしくなったら、
sudo port -f uninstall XXXX
を使って消して、再インストール。
めでたしめでたし*1
*1:多分・・・