Mac + Subversion + インストール

Mac Leopard に Subversion をインストールしたら意外と面倒だったのでメモ。

今回インストールしたのは、以下2つ。

subversion-1.5.1
subversion-deps-1.5.1

解凍して configure していざ make 。

  
$ cd /usr/local/src  
$ tar zxvf subversion-1.5.1.tar.gz  
$ tar zxvf subversion-deps-1.5.1.tar.gz  
$ cd subversion-1.5.1  
$ ./configure –-prefix=/usr/local/subversion-1.5.1 –-with-ssl –-without-berkely-db  
$ make  

ところが途中で、/usr/lib に libexpat.a がありませんというエラーが。

どうやら、expat という XML parser ライブラリの libexpat.a だけ /usr/lib にないらしい。

ないなら入れましょうと The Expat XML Parser から expat-2.0.1.tar.gz をダウンロード。

expat-2.0.1.tar.gz を解凍して、インストール。
その後、/usr/lib にシンボリックリンクを作成。

  
$ cd /usr/local/src  
$ tar zxvf expat-2.0.1.tar.gz  
$ cd expat-2.0.1  
$ ./configure –-prefix=/usr/local/expat-2.0.1  
$ make  
$ sudo make install  
$ cd /usr/local  
$ sudo ln -s expat-2.0.1 expat  
$ cd /usr/lib  
$ sudo ln -s /usr/local/expat/lib/libexpat.a libexpat.a  

これで Subversion の make が通るようになった。そのまま make install。

  
$ cd /usr/local/src/subversion-1.5.1  
$ make  
$ sudo make install  
$ cd /usr/local  
$ sudo ln -s subversion-1.5.1 svn  

出来た、出来た。
さっそく.bash_profile を書き換えて新しい svn コマンドを使うように設定。

  
$ cd  
$ vi .bash_profile  
PATH=/usr/local/svn/bin:$PATH  
export PATH=$PATH  
$ source .bash_profile  

続いて svn コマンドのチェック。svn –version とすると 1.5.1 と表示された。
どうやらうまくいったらしい。
続けて、すでに作っておいたリポジトリ(外部サーバ)に add してみる。

  
$ cd ~/Documents/repos  
$ mkdir hoge  
$ svn add hoge  
$ svn commit hoge -m ‘add hoge’  

add まではうまくいった模様。
けれど、commit で「認証機構と交渉できません」というエラーが・・・。

どうも 1.5 以降に追加された cyrus-sasl という認証関連が必要らしい。使う予定ないのに・・・。

必要ならいれましょう と Cyrus から cyrus-sasl-2.1.22.tar.gz をダウンロード。

cyrus-sasl-2.1.22.tar.gz を解凍して、インストール。

  
$ cd /usr/local/src  
$ tar zxvf cyrus-sasl-2.1.22.tar.gz  
$ cd cyrus-sasl-2.1.22  
$ ./configure -–prefix=/usr/local/cyrus-sasl-2.1.22  
$ make  
$ sudo make install  
$ cd /usr/local/  
$ sudo ln -s cyrus-sasl-2.1.22 cyrus-sasl2  

続いて subversion を再インストール。

  
$ cd /usr/local  
$ sudo rm -r subversion-1.5.1  
$ cd src/subversion-1.5.1  
$ make clean  
$ ./configure –-prefix=/usr/local/subversion-1.5.1 –-with-ssl –-with-sasl=/usr/local/cyrus-sasl2 –-without-berkely-db  
$ make  
$ sudo make install  

これでもう一度試してみると今度は commit 成功!

意外と手間どったインストール作業だった。