символ pyspatialite не найден для _iconv - PullRequest
3 голосов
/ 29 марта 2011

Я пытаюсь скомпилировать 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 Ответ

5 голосов
/ 29 марта 2011

Я нашел ответ самостоятельно.В setup.py найдите строку, которая говорит:

libraries = ['geos','geos_c','proj']

Добавьте 'iconv' в конец этого списка, чтобы он выглядел так:

libraries = ['geos','geos_c','proj','iconv']
...