2

RedHat5/Python2.6にDjapianをインストールしようとしています。OSX10.6マシンにはすでに正常にインストールされています。

Py2.6で問題なくXapianとDjapianをビルドしてコンパイルしました。次に、Python Bindings for Xapianをインストールすると正常に動作しますが、Pythonインタープリターを開いて'import xapianと入力するか、Djangoアプリにdjapianを含めようとすると、次のエラーが発生します。

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

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

問題はXapianではなくPython側にあると思います。

4

1 に答える 1

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. */
于 2011-02-10T16:46:17.130 に答える