Perlはアップグレードすると高い確率でエラーでるんですよねー。
p5-*とかの名前の付いたパッケージがエラーになるので、強制再インストールをやってみます。
% sudo port uninstall perl5.8 ---> The following versions of perl5.8 are currently installed: ---> perl5.8 @5.8.8_3+darwin_9 ---> perl5.8 @5.8.9_1 (active) Error: port uninstall failed: Registry error: Please specify the full version as recorded in the port registry.
古い方は普通にアンインストールしましょう
% sudo port uninstall perl5.8 @5.8.8_3+darwin_9 ---> Uninstalling perl5.8 @5.8.8_3+darwin_9 % sudo port upgrade installed
よく見ると、エラーが起きるのは、p5-scalar-list-utilsというパッケージだけ。
以下、よく分からず適当にコマンドを実行していった結果、エラーが出なくなったのでコマンドを並べるだけです。流れは
- sudo port -f uninstall p5-scalar-list-utils
- sudo port clean p5-scalar-list-utils
- sudo port -f install p5-scalar-list-utils
(訂正9:42 installにも-f付きで実行しないとインストールできませんでした。)
の三つを使って解決したつもりです。結果sudo port upgrade installedしてもエラーが出なくなったのでよしとします。
% sudo port -f uninstall p5-scalar-list-utils ---> Uninstalling p5-scalar-list-utils @1.19_1 % sudo port -f install p5-scalar-list-utils ---> Installing p5-scalar-list-utils @1.19_1 ---> Activating p5-scalar-list-utils @1.19_1 Warning: File /opt/local/lib/perl5/5.8.9/darwin-2level/List/Util.pm already exists. Moving to: /opt/local/lib/perl5/5.8.9/darwin-2level/List/Util.pm.mp_1231696292. Warning: File /opt/local/lib/perl5/5.8.9/darwin-2level/Scalar/Util.pm already exists. Moving to: /opt/local/lib/perl5/5.8.9/darwin-2level/Scalar/Util.pm.mp_1231696292. Warning: File /opt/local/lib/perl5/5.8.9/darwin-2level/auto/List/Util/Util.bs already exists. Moving to: /opt/local/lib/perl5/5.8.9/darwin-2level/auto/List/Util/Util.bs.mp_1231696292. Warning: File /opt/local/lib/perl5/5.8.9/darwin-2level/auto/List/Util/Util.bundle already exists. Moving to: /opt/local/lib/perl5/5.8.9/darwin-2level/auto/List/Util/Util.bundle.mp_1231696292. Warning: File /opt/local/share/man/man3/List::Util.3pm.gz already exists. Moving to: /opt/local/share/man/man3/List::Util.3pm.gz.mp_1231696292. Warning: File /opt/local/share/man/man3/Scalar::Util.3pm.gz already exists. Moving to: /opt/local/share/man/man3/Scalar::Util.3pm.gz.mp_1231696292. ---> Cleaning p5-scalar-list-utils % sudo port clean p5-scalar-list-utils ---> Cleaning p5-scalar-list-utils % sudo port -f install p5-scalar-list-utils ---> Fetching p5-scalar-list-utils ---> Verifying checksum(s) for p5-scalar-list-utils ---> Extracting p5-scalar-list-utils ---> Configuring p5-scalar-list-utils ---> Building p5-scalar-list-utils ---> Staging p5-scalar-list-utils into destroot You must install or activate this package with '-f' (force) as it needs to overwrite files installed by the perl5.8 port ---> Installing p5-scalar-list-utils @1.19_1 Error: Target org.macports.install returned: Registry error: p5-scalar-list-utils @1.19_1 already registered as installed. Please uninstall it first. Error: Status 1 encountered during processing. % sudo port list p5-scalar-list-utils p5-scalar-list-utils @1.19 perl/p5-scalar-list-utils % sudo port -f install p5-scalar-list-utils ---> Installing p5-scalar-list-utils @1.19_1 Error: Target org.macports.install returned: Registry error: p5-scalar-list-utils @1.19_1 already registered as installed. Please uninstall it first. Error: Status 1 encountered during processing. % sudo port -f uninstall p5-scalar-list-utils ---> Deactivating p5-scalar-list-utils @1.19_1 ---> Uninstalling p5-scalar-list-utils @1.19_1 % sudo port list p5-scalar-list-utils p5-scalar-list-utils @1.19 perl/p5-scalar-list-utils % sudo port uninstall p5-scalar-list-utils Error: port uninstall failed: Registry error: p5-scalar-list-utils not registered as installed. % sudo port install p5-scalar-list-utils ---> Installing p5-scalar-list-utils @1.19_1 ---> Activating p5-scalar-list-utils @1.19_1 ---> Cleaning p5-scalar-list-utils