Subversionをソースからインストール

今仕事で、一般ユーザ権限しかないシステムを使わせてもらっている。自分の書いたコードをそのシステム上で実行するために、自分SubversionリポジトリからSVNコマンドでチェックアウトしようとしたところ、Subversionが入っていないことがわかった。仕方なく、自分でソースからコンパイルしてインストールすることにした。以下にSubversion 1.4.6のソースからのインストール方法をメモ。
1. アーカイブのダウンロード
Subversion本体と、Subversionの依存ライブラリがまとめられたアーカイブを公式ページからダウンロード。

$ wget http://subversion.tigris.org/downloads/subversion-1.4.6.tar.gz
$ wget http://subversion.tigris.org/downloads/subversion-deps-1.4.6.tar.gz

2. 2つのパッケージを同じディレクトリに解凍

$ tar zxf subversion-1.4.6.tar.gz
$ tar zxf subversion-deps-1.4.6.tar.gz

subversion-1.4.6ディレクトリが作成され、2つのアーカイブの内容が展開される。
3. configure

$ CC=/usr/bin/gcc CXX=/usr/bin/g++ \
> ./configure --prefix=/home/usr1/stakizaw/soft/subversion-1.4.6

4. make, make check, make install
自分以外にも大勢が利用しているマシン上で行ったためか、「make check」に1時間ほど時間がかかった。

$ make
$ make check
$ make install

ハマりどころは1と4。最初依存ライブラリアーカイブなしでmakeしてエラーを出してしまった。READMEを読むと、depsアーカイブが必要だということはきちんと書かれていた。また、depsアーカイブを展開した最初のmakeも次のエラーで失敗した。

libtool: link: warning: `/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.3/../../..//libexpat.la' seems to be moved
libtool: link: warning: `/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.3/../../..//libexpat.la' seems to be moved
/usr/lib64/gcc-lib/x86_64-suse-linux/3.3.3/../../../../x86_64-suse-linux/bin/ld: /home/usr1/stakizaw/tmp/subversion-1.4.6/neon/src/.libs/libneon.a(ne_request.o): relocation R_X86_64_32 can not be used when making a shared object; recompile with -fPIC
/home/usr1/stakizaw/tmp/subversion-1.4.6/neon/src/.libs/libneon.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [subversion/libsvn_ra_dav/libsvn_ra_dav-1.la] Error 1

-fPICオプションを付けてコンパイルしろと言われてしまった。この場合にはconfigureのオプションに「--with-pic」を付けてステップ3からやり直せば良い。

ちなみに、Subversionのバージョンが古いのは、昔まとめた作業記録を元に書いたから。