2011-02-10 7 views
2

RedHat5/Python2.6にDjapianをインストールしようとしています。私はすでにOSX 10.6マシンに正常にインストールしています。Py_InitModule4 with Djapian/Xapian

Py2.6では問題なくXapianとDjapianをビルドしてコンパイルしました。 Pythonインタプリタを開いて 'import xapian'を入力するか、Djangoアプリにdjapianを含めると、次のエラーが表示されます:

/usr/lib64 /python2.6/site-packages/_xapian.so:未定義シンボル:Py_InitModule4

検索では、Xapianだけでなく、いくつかのモジュールでこの問題が発生しましたが、良い解決策が見つからないようです。私はpython-develをインストールしています。

私は問題がXapianではなくPython側であると推測しています。

答えて

4

一部の構成(Py_DEBUGが定義されている場合)では、Py_InitModule4にはマクロの書き換えのため実装がありません。 ABIは互換性がないとあなたに伝えるためのものです。実行可能ファイルのリリース版でPy_Debugバージョンを使用しようとしたときに、この問題が発生しました。すべてのターゲットで同じ設定(デバッグ/リリース)にコンパイルしていることを確認してください。 modsupport.hでPythonのソースから

(Py_TRACE_REFSはPy_DEBUGで定義されている):

/* When we are tracing reference counts, rename Py_InitModule4 so 
    modules compiled with incompatible settings will generate a 
    link-time error. */ 
+0

おかげで、バインディングが間違っている場合、私は疑問に思って、見てみましょう。 – picus