T2さんの「sshクライアントを指定してみる」というヒントのおかげで、subversion を使えるようになりました。原因は色々勘違いが重なっての事です。T2さん有難うございました。
- 本当の原因: サーバー側の設定がまずかった。
- 原因を間違えた原因: まず TortoiseSVN が動かなかったので、自宅の FreeBSD から SSH 経由でチェックアウト出来るか試してみた。するとユーザ名を間違えてしまっているのがパスワード入力コメントから分かったので、TortoiseSVN も同じミスをしているんだろうと思った。
どうやって本当の原因を見つけたかというと、以下のようなスクリプトを書き、ssh の設定のところ(unix は ~/.subversion Windows は右クリックメニューの Settings)に指定して、実際にどんな引数が ssh に渡っているのかを調べたのでした。
#!/usr/bin/env perl open (OUT, ">/tmp/argvout.txt") or die $!; foreach $arg (@ARGV) { print OUT $arg. "\n" }
すると、まず FreeBSD マシンはそもそもユーザ名を渡していない(subversion のバージョンが古かった) のと、サーバー側の設定がまずかった(ライブラリパスは .profile では無く .bashrc に書かなくてはならない) が判明しました。と言う事で昨日の奴は書き直しました。
と言うわけで、
- ライブラリパス LD_LIBRARY_PATH の設定は .bashrc に書く(これは、root を使える人には関係ない話)
- subversion の新しいバージョンを使う
で解決しました。