Mac miniにgitをインストール
昨日のOSCの復習のためにMacにgitをインストールしてみた。
MacPortsを使ったけどちょっとはまったのでログを残しとく。
失敗編
まずは普通にインストールを試す。
$ sudo port install cogito ---> Activating p5-scalar-list-utils @1.19_1 Error: Target org.macports.activate returned: Image error: /opt/local/lib/perl5/5.8.9/darwin-2level/auto/List/Util/Util.bs is being used by the active perl5.8 port. Please deactivate this port first, or use the -f flag to force the activation. Error: The following dependencies failed to build: git-core p5-scalar-list-utils rsync popt Error: Status 1 encountered during processing.
perl5.8をdeactivateしろと言ってるっぽいのでやってみる。
$ sudo port deactivate perl5.8 ---> Deactivating perl5.8 $ sudo port install cogito ---> Activating perl5.8 @5.8.9_1 ---> Cleaning perl5.8 ---> Activating p5-scalar-list-utils @1.19_1 Error: Target org.macports.activate returned: Image error: /opt/local/lib/perl5/5.8.9/darwin-2level/auto/List/Util/Util.bs is being used by the active perl5.8 port. Please deactivate this port first, or use the -f flag to force the activation. Error: The following dependencies failed to build: git-core p5-scalar-list-utils rsync popt Error: Status 1 encountered during processing.
最初に勝手にactivateされちゃってまた同じエラーに。
perl5.8をアンインストールしてみる。
$ sudo port uninstall -f perl5.8 ---> Unable to uninstall perl5.8 5.8.9_1, the following ports depend on it: ---> perl5 Warning: Uninstall forced. Proceeding despite dependencies. ---> Deactivating perl5.8 @5.8.9_1 ---> Uninstalling perl5.8 @5.8.9_1
再度gitをインストール。
$ sudo port install cogito ---> Activating p5-scalar-list-utils @1.19_1 ---> Cleaning p5-scalar-list-utils ---> Fetching popt ---> Attempting to fetch popt-1.14.tar.gz from http://distfiles.macports.org/popt ---> Verifying checksum(s) for popt ---> Extracting popt ---> Configuring popt ---> Building popt ---> Staging popt into destroot ---> Installing popt @1.14_0 ---> Activating popt @1.14_0 ---> Cleaning popt ---> Fetching rsync ---> Attempting to fetch rsync-3.0.5.tar.gz from http://distfiles.macports.org/rsync ---> Verifying checksum(s) for rsync ---> Extracting rsync ---> Applying patches to rsync ---> Configuring rsync ---> Building rsync ---> Staging rsync into destroot ---> Installing rsync @3.0.5_0 ---> Activating rsync @3.0.5_0 ---> Cleaning rsync ---> Fetching git-core ---> Attempting to fetch git-1.6.1.tar.bz2 from http://distfiles.macports.org/git-core ---> Attempting to fetch git-manpages-1.6.1.tar.bz2 from http://distfiles.macports.org/git-core ---> Attempting to fetch git-htmldocs-1.6.1.tar.bz2 from http://distfiles.macports.org/git-core ---> Verifying checksum(s) for git-core ---> Extracting git-core ---> Applying patches to git-core ---> Configuring git-core ---> Building git-core Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_git-core/work/git-1.6.1" && make all CFLAGS="-Wall -O2 -I/opt/local/include" LDFLAGS="-L/opt/local/lib" prefix=/opt/local CURLDIR=/opt/local OPENSSLDIR=/opt/local ICONVDIR=/opt/local PERL_PATH="/opt/local/bin/perl" NO_FINK=1 NO_DARWIN_PORTS=1 NO_R_TO_GCC_LINKER=1 " returned error 2 Command output: CC http-push.o LINK git-http-push CC daemon.o LINK git-daemon CC imap-send.o LINK git-imap-send GEN git-am GEN git-bisect GEN git-filter-branch GEN git-lost-found GEN git-merge-octopus GEN git-merge-one-file GEN git-merge-resolve GEN git-mergetool GEN git-parse-remote GEN git-pull GEN git-quiltimport GEN git-rebase--interactive GEN git-rebase GEN git-repack GEN git-request-pull GEN git-sh-setup GEN git-stash GEN git-submodule GEN git-web--browse SUBDIR perl /opt/local/bin/perl Makefile.PL PREFIX='/opt/local' make[1]: /opt/local/bin/perl: Command not found make[1]: *** [perl.mak] Error 127 make: *** [perl/perl.mak] Error 2 Error: The following dependencies failed to build: git-core Error: Status 1 encountered during processing.
最初よりは進んだけどまたエラーが出た。"make[1]: /opt/local/bin/perl: Command not found"perlコマンドが無いせいらしい。うん、さっき消した。
仕方ないのでperl5.8を再インストール
$ sudo port install perl5.8 ---> Fetching perl5.8 ---> Verifying checksum(s) for perl5.8 ---> Extracting perl5.8 ---> Configuring perl5.8 ---> Building perl5.8 ---> Staging perl5.8 into destroot ---> Installing perl5.8 @5.8.9_1 ---> Activating perl5.8 @5.8.9_1 Error: Target org.macports.activate returned: Image error: /opt/local/lib/perl5/5.8.9/darwin-2level/auto/List/Util/Util.bs is being used by the active p5-scalar-list-utils port. Please deactivate this port first, or use the -f flag to force the activation. Error: Status 1 encountered during processing.
またエラー。今度はp5-scalar-list-utilsをdeactivate。
$ sudo port deactivate p5-scalar-list-utils ---> Deactivating p5-scalar-list-utils $ sudo port install perl5.8 ---> Activating perl5.8 @5.8.9_1 ---> Cleaning perl5.8 $ sudo port install cogito ---> Activating p5-scalar-list-utils @1.19_1 Error: Target org.macports.activate returned: Image error: /opt/local/lib/perl5/5.8.9/darwin-2level/auto/List/Util/Util.bs is being used by the active perl5.8 port. Please deactivate this port first, or use the -f flag to force the activation. Error: The following dependencies failed to build: git-core p5-scalar-list-utils Error: Status 1 encountered during processing.
振り出しに戻る。さっきcogitoのインストールが少し進んだので未インストールのパッケージはあと2つになってるけど。
ということで多分次からの手順だけでうまくいくはず。
成功編
さらに解決法を調べて以下の記事を発見。試してみる。
http://d.hatena.ne.jp/tenkoma/20090111/1231697110
$ sudo port -f uninstall p5-scalar-list-utils ---> Uninstalling p5-scalar-list-utils @1.19_1 $ 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 ---> Activating p5-scalar-list-utils @1.19_1 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_1245560009. 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_1245560009. 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_1245560009. 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_1245560009. 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_1245560009. 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_1245560009. ---> Cleaning p5-scalar-list-utils $ sudo port install cogito ---> Building git-core ---> Staging git-core into destroot ---> Installing git-core @1.6.1_1+doc ---> Activating git-core @1.6.1_1+doc ---> Cleaning git-core ---> Fetching cogito ---> Attempting to fetch cogito-0.18.2.tar.bz2 from http://distfiles.macports.org/cogito ---> Verifying checksum(s) for cogito ---> Extracting cogito ---> Applying patches to cogito ---> Configuring cogito ---> Building cogito ---> Staging cogito into destroot ---> Installing cogito @0.18.2_1 ---> Activating cogito @0.18.2_1 ---> Cleaning cogito
なんか途中で警告は出てるけどとりあえずうまくいったっぽい。
だいぶ回り道してしまった。