hellkite 日記と雑記とメモ。

Shiki Kazamaの駄文と音楽と、時々技術な感じ

MacPortのupgrade時エラー対処方法


スポンサーリンク


原因はさっぱり。でも、一応解決。
現象は以下。

$ 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:多分・・・