前回の続き
前回(id:seiunsky:20070107:1168212936)の記事を書いたときに、おとなり日記で表示されていたサイト(id:isasaki:20070107)を参考にすることで、少し原因が見えた。
【トラブルシュート ****************************************************】 結果的には aps、aps-util、swigの連携を適切に行います。 (1)trac-adminで「Warning:You should install the SVN bindings」が出てるとtracのページが適切に表示できません (2)「TracError: Unsupported version control system "svn"」とtracページに出力されます (3)pythonからsvnのライブラリが参照できているか確認します #python -c "import svn" #python -c "import svn.repos" (4)pythonのlib参照エラーの出力 Traceback (most recent call last): File "<string>", line 1, in <module> NameError: name 'svn' is not defined (5)「TracError: ClearSilver not installed (No module named neo_cgi)」が出力したらclearsilverを再インストールします
ここの 「(3)pythonからsvnのライブラリが参照できているか確認します」python ワンライナーの二つ目は試していなかったので、こちらでも試してみる。
python ワンライナー再び
一番目は問題なかった(当たり前だ)。そして二番目。
python -c "import svn.repos" Traceback (most recent call last): File "<string>", line 1, in ? File "/usr/local/subversion1.4.2/lib/svn-python/svn/repos.py", line 19, in ? from libsvn.repos import * File "/usr/local/subversion1.4.2/lib/svn-python/libsvn/repos.py", line 5, in ? import _repos ImportError: /usr/local/subversion1.4.2/lib/libsvn_ra_dav-1.so.0: undefined symbol: xmlCreatePushParserCtxt
エラーになった。
今までのsvn見つかりませんってヤツの原因はつまりこれだったのだろうか?
subversion の configure を見直す
上記でリンクしたおとなり日記(ソフトインストールの日記)を参考に、 subversion をインストールしなおしてみた。
./configure --prefix=/usr/local/subversion1.4.2 \ --without-berkeley-db \ --with-swig=/usr/bin/swig \ PYTHON=/usr/bin/python \ --enable-swig-binding=python \ --with-apxs=/usr/local/apache2/bin/apxs \ --with-apr=/usr/local/apache2 \ --with-apr-util=/usr/local/apache2
Berkeley-DBは今のところ入れていないし、使う予定もない(ハズ)なので without にした*1。
で、そのあと make する。
make && make install && make swig-py && make install-swig-py
っていうか、こうやって繋げることで一気に実行できたんだね。知らんかった。
subversion を入れなおして
python と subversion のリンクの張り方も今までとは変えてソフトインストールの日記を参考にして張ってみた。
で、確認してみる。
python -c "import svn.repos" Traceback (most recent call last): File "<string>", line 1, in ? File "/usr/local/subversion1.4.2/lib/svn-python/svn/repos.py", line 19, in ? from libsvn.repos import * File "/usr/local/subversion1.4.2/lib/svn-python/libsvn/repos.py", line 5, in ? import _repos ImportError: /usr/local/subversion1.4.2/lib/libsvn_ra_dav-1.so.0: undefined symbol: xmlCreatePushParserCtxt
変わらず_| ̄|○
でも以前に比べれば原因が見えただけ前進したと言えるだろう。
結局
あのエラーの so ファイルが問題なのか。それとも xmlCreatePushParserCtxt っていうライブラリ?が無いから文句を言われているのか。
so ファイル自体はあるように見えるんだけどなぁ(´Д`)
ls -la /usr/local/subversion1.4.2/lib/libsvn_ra_dav-1.so* lrwxrwxrwx 1 root root 24 1月 9日 01:06 /usr/local/subversion1.4.2/lib/libsvn_ra_dav-1.so -> libsvn_ra_dav-1.so.0.0.0 lrwxrwxrwx 1 root root 24 1月 9日 01:06 /usr/local/subversion1.4.2/lib/libsvn_ra_dav-1.so.0 -> libsvn_ra_dav-1.so.0.0.0 -rwxr-xr-x 1 root root 848212 1月 9日 01:06 /usr/local/subversion1.4.2/lib/libsvn_ra_dav-1.so.0.0.0
これから先どう進めりゃいいんだ……(´Д`)
*1:まさかこれが一連の不具合の原因なのか……?