pyspatialite 找不到 _iconv 符号
我正在尝试使用以下命令来编译pyspatialite 2.6.1:
sudo python setup.py install
编译成功了,但生成的文件缺少一个符号。当我从中导入dbapi2模块时,出现了以下错误:
Python 2.7.1 (r271:86882M, Nov 30 2010, 10:35:34)
[GCC 4.2.1 (Apple Inc. build 5664)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from pyspatialite import dbapi2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyspatialite/dbapi2.py", line 27, in <module>
from pyspatialite._spatialite import *
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyspatialite/_spatialite.so, 2): Symbol not found: _iconv
Referenced from: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyspatialite/_spatialite.so
Expected in: flat namespace
in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyspatialite/_spatialite.so
我该如何解决这个错误呢?
1 个回答
6
我自己找到了答案。在setup.py文件中,找到一行写着:
libraries = ['geos','geos_c','proj']
在那个列表的最后加上'iconv',让它看起来像这样:
libraries = ['geos','geos_c','proj','iconv']