尝试加载使用 boost python 编译的 python 模块时出现以下导入错误。
ImportError: /path/to/library/libxml2.so.2: symbol gzopen64, version ZLIB_1.2.3.3 not defined in file libz.so.1 with link time reference
奇怪的是,如果这是要导入的非标准模块,我看不到这个错误。即,如果我先导入其他模块,然后再导入此模块,则会因导入错误而失败。不知道出了什么问题或如何调试。
编辑:要准确显示问题:
$ python -c 'import json, libMYBOOST_PY_LIB' # DOES NOT WORK!!!
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: path/to/xml_library/libxml2.so: symbol gzopen64, version ZLIB_1.2.3.3 not defined in file libz.so.1 with link time reference
$ python -c 'import libMYBOOST_PY_LIB, json' # WORKS NOW!!!
$
它不仅仅是 json,在我的模块之前导入时,很少有其他模块也会导致同样的问题。例如。urllib2