1

I have an error when trying to import qgis.core to python:

>>> import qgis.core
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: /usr/lib64/libspatialite.so.2: undefined symbol: GEOSBufferParams_destroy

Also DB Manager in QGIS can't work with spatialite due to this error: "/usr/local/lib64/pyton2.7/site-packages/pyspatialite/_spatialite.so: undefined symbol: GEOSSimplify"

pyspatialite seems to work fine:

>>> from pysqlite2 import test
>>> test.test()
.....................................................................................................................................................................................................................
----------------------------------------------------------------------
Ran 213 tests in 2.892s

OK

The issue arose after updating QGIS from 1.7 to 1.8, where pyspatialite (and some other packages) is no longer provided within QGIS.

I searched the web but wasn't able to find sollution. Any idea on how to fix it?

OS: openSUSE 12.1; python 2.7.2-7.17.1; QGIS 1.8.0-7.2; spatialite 3.0.1-9.1; GEOS 3.3.5-1.1; pyspatialite 3.0.1.

1 Answer 1

2

I think you have incompatible spatialite and geos packages. In particular, it looks like you have an earlier version of geos installed than 3.3.5. Is it possible you have a distro package and a self-compiled version as well?

2
  • No, both GEOS and Spatialite were installed form the ApplicationGeo repository. I've never tried to install any of them from source. The only package that wasn't installed from repo is pyspatialite. I've checked GEOS and Spatialite files there are no outdated libs. Aug 22, 2012 at 13:21
  • Actually you were right. I've installed command-line tools for spatialite and checked the GEOS version used - it is 2.2.3. I have to find now where this version is hiding... Aug 22, 2012 at 13:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.