...ing logging 4.0

はてなブログに移行しました。D言語の話とかいろいろ。

Subversion 1.4.4

今日はSubversionをアップグレードしようと思い立った.
前回かなり苦労したし,今度はログを取ろう.

方針

Apacheは1.x系を使うので,Apacheと連携することはしない.
だからWebDAV経由ではアクセスしない.
いつもsvn+sshを使う.
リポジトリには Berkeley DB を使わない.
fsfs の方を使う.

Subversionのダウンロード

http://subversion.tigris.org/

参考: http://chaotic-blue.seesaa.net/article/45072133.html
参考: http://hwat.sakura.ne.jp/hpod/200704/24-220000/
参考: http://d.hatena.ne.jp/senna_hpp/20070705
参考: http://d.hatena.ne.jp/solitary_shell/20070318/1174226509

su -
cd /tmp
wget http://subversion.tigris.org/downloads/subversion-1.4.4.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.4.4.tar.gz
tar zxvf subversion-1.4.4.tar.gz
tar zxvf subversion-deps-1.4.4.tar.gz
cd subversion-1.4.4
./configure --prefix=/usr/local --with-ssl --with-shared

could not find library containing RSA_new というエラーが出た.
前後のエラーメッセージからOpenSSLが怪しい.
最新のOpenSSLを入れてみる.

参考: http://tycho.jp/modules/tinyd0/content/computer/open/bsitecopy.htm

OpenSSLのダウンロード

http://www.openssl.org/source/

cd /tmp
wget http://www.openssl.org/source/openssl-0.9.8e.tar.gz
./configure
make
make install

再びSubversionのインストール

cd /tmp/subversion-1.4.4
./configure --prefix=/usr/local --with-ssl --with-shared

まだダメ.

参考: http://slashdot.jp/journal.pl?op=display&uid=7255&id=197157

Apache Portable Runtimeのダウンロード

http://apr.apache.org/

cd /tmp
wget http://www.meisei-u.ac.jp/mirror/apache/dist/apr/apr-1.2.9.tar.gz
wget http://www.meisei-u.ac.jp/mirror/apache/dist/apr/apr-util-1.2.8.tar.gz
tar zxvf apr-1.2.9
tar zxvf apr-util-1.2.8
cd subversion-1.4.4
cp -a ../apr-1.2.9 apr
cp -a ../apr-util-1.2.8 apr-util

Subversionを展開したディレクトリにある aprapr-util ディレクトリへコピーするらしい.

再びSubversionのインストール

cd /tmp/subversion-1.4.4
./configure --prefix=/usr/local --with-ssl --with-shared

まだダメ.

neonのダウンロード

http://www.webdav.org/neon/

cd /tmp
wget http://www.webdav.org/neon/neon-0.26.4.tar.gz
tar zxvf neon-0.26.4.tar.gz
cd subversion-1.4.4
cp -a ../neon-0.26.4 neon

こちらもSubversionを展開したディレクトリにあるneonディレクトリへコピーした.
ここに置くと subversion と一緒にビルドしてくれるのかな?

再びSubversionのインストール

cd /tmp/subversion-1.4.4
./configure --prefix=/usr/local --with-ssl --with-shared

まだダメ.
neonは自分でmakeしないといけないのかな.

cd /tmp/neon-0.26.4
./configure

configure: error: no XML parser was found: expat or libxml 2.x required

あれれ・・・.

libxml2のインストール

cd /tmp
wget ftp://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/libxml2-2.6.27.tar.gz
tar zxvf libxml2-2.6.27
cd /tmp/libxml2-2.6.27
./configure
make
make install

再びneonのインストール

cd /tmp/neon-0.26.4
./configure
make
make install

今度は neon のインストールに成功.

再びSubversionのインストール

cd /tmp/subversion-1.4.4
./configure --prefix=/usr/local --with-ssl --with-shared

やっぱダメ('A`)

再びSubversionのインストール

neon を見つけられないのかな.
オプションを追加してみる.

# 行末の \ は次の行を続けて入力することを意味する.

./configure --prefix=/usr/local --with-ssl --with-shared \
    --with-neon=/usr/local/include/neon

エラーが変わった.
zlibがどうのこうの言われてるな.

zlibのインストール

http://www.zlib.net/

cd /tmp
wget http://www.zlib.net/zlib-1.2.3.tar.gz
tar zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure
make
make install

再びSubversionのインストール

./configure --prefix=/usr/local --with-ssl --with-shared \
    --with-neon=/usr/local/include/neon

ダメか.
うーん --with-libs=<...> オプションを使えばいいのかな.
INSTALL 読んでも何に使うオプションなのかはっきりわからない.
試しに zlib のパスを与えてみる.

./configure --prefix=/usr/local --with-ssl --with-shared \
    --with-neon=/usr/local/include/neon \
    --with-libs=/usr/local/include/
make
make install

行けた!
よし,テストしてみよう.

svnadmin help

svnadmin: ファイルシステムモジュール 'bdb' のバージョンが一致しません: 実際 1.4.4, 期待 1.2.1

orz

それは使わないからいらないんだけど・・・.

./configure --prefix=/usr/local --with-ssl --with-shared \
    --with-neon=/usr/local/include/neon \
    --with-libs=/usr/local/include/ --without-berkeley-db
make
make install
svnadmin help

svnadmin: ファイルシステムモジュール 'bdb' のバージョンが一致しません: 実際 1.4.4, 期待 1.2.1

ダメかー.
あ・・・make cleanしてない.
ていうか既にログ取ってる意味ないなーこれw

make clean
./configure --prefix=/usr/local --with-ssl --with-shared \
    --with-neon=/usr/local/include/neon \
    --with-libs=/usr/local/include/ --without-berkeley-db
make
make install

ダメか.

改めてSubversionのインストール

参考: http://cl.pocari.org/2006-02-20-7.html

バージョン違いのライブラリファイルが邪魔をしている可能性があるようだ.
英語が読めないながらも INSTALL ファイルをよく読み直す.
一度ライブラリを全部削除する.

rm -f /usr/local/lib/libsvn*
rm -f /usr/local/lib/libapr*
rm -f /usr/local/lib/libexpat*
rm -f /usr/local/lib/libneon*

INSTALL ファイルに書いてあったので,必要な環境が揃っているかどうか確認してくれるスクリプトを実行する.
って,そんなのあったのかよ!

sh ./autogen.sh

・・・.
結果の英語が理解できない.
俺ってばどうしようもないな.
なんかいけてそうだし,これはもういいや!

./configure --prefix=/usr/local --with-ssl --with-shared \
    --with-neon=/usr/local/include/neon \
    --with-libs=/usr/local/include/ --without-berkeley-db
make
make install
svnadmin help

キタ━(゚∀゚)━!!


しかしこれでは・・・ログの意味が・・・.
上の方を見直してもう一回 tar からやり直した方がいいよね・・・.
それでも,入れてしまったライブラリ群は,ないとダメだったのかどうだったのかがいまいちわからないままになってしまうけど.
うーん,参った.

追記

Apache と連携しないなら,apr をわざわざダウンロードしてきて入れる必要はなかったらしい.
じゃあ neon も同じか.
それで subversion-deps-1.4.4.tar.gz があったのかな.

参考: http://d.tir.jp/pw?subversion%2Bviewcvs%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB

追記

http://d.hatena.ne.jp/haru-s/20051117/1132162155
前回インストールしたときに

ln -s /usr/local/bin/svn* /bin

としていたのを忘れていた.
make install の後,何も考えず svnadmin を実行してちゃんと動作したのはこのシンボリックリンクがあったからだと思うので,一応書いておくことにする.