GitをMac OS X ServerであるECCS上で入れる(root権限なし)
追記
http://www.baru-san.net/archives/92にこれより新しい話が入っています。
尤も、ECCSにSSHできなくなった今そこまでしたいんかと思いますが。
まず最初に
今頃Gitも入ってないとかありえねーよ。root権限ある人は普通に入れましょう。
普通に導入したい
Gitをコンパイルしたことがある人ならわかると思うが、別にそんな難しいものではない。なので、ダウンロードしてきて普通にコンパイルすればいい。
./configure --prefix=${HOME}/local make make install
しかし、makeを叩いてもリンカにlibiconvとlibopensslのアーキテクチャが違うと言われてしまう。
依存するライブラリの導入
ここは紆余曲折があったのだが、結局これらのライブラリは普通に入れるのではなくてMacPortsで導入することにした。
~/src/MacPorts-2.0.3 % ./configure --prefix=${HOME}/local/macports --enable-readline --with-no-root-privileges --with-install-user=`id -un` --with-install-group=`id -gn` --build=i386 --with-universal-archs="i386" --with-sqlite3prefix=${HOME}/local ~/src/MacPorts-2.0.3 % make && make install ~ % port install openssl libiconv
なんかユニバーサルバイナリがどうのこうのエラー吐いてるけど気にしない!!i386だけで結構!!
Gitを導入する
結論からするとNO_FINK
という環境変数をちゃんと定義しておかないと勝手に/opt
とか/sw
を見に行くらしいのでこれを定義しておく(値に意味はないと思う)。
~/src/git-1.7.7 % ./configure --prefix=${HOME}/local --with-iconv=${HOME}/local/macports --with-openssl=${HOME}/local/macports --without-tcltk && NO_FINK="YesPlease" make install
ちなみに、なぜかMacのリソースフォーク的なものを読んでコケることがあるので、ソースのディレクトリで
~/src/git-1.7.7 % rm **/._*