Spatialite Ubuntu 16
A biblioteca e o projeto spatialite são bastante especiais. Ela permite que você use um banco de dados SQLite como repositório de dados espaciais, com várias tabelas e relações.
Ela é bastante poderosa neste sentido, pois facilita que usuários GIS armazenem e compartilhem seus dados de forma mais simples, ao invés de enviar um monte de shapefiles para cima e para baixo.
No nosso caso, o problemas são com o Django, não com a biblioteca em si. Devido a algumas mudanças, o Django não consegue rodar, usando ela.
Bem, de acordo com a nova versão do Django e da SpatiaLite, algumas coisas mudaram de lugar e nem sempre o Django consegue encontrar a biblioteca.
Se vocẽ ver um erro do tipo:
Unable to load the SpatiaLite library extension “libspatialite.so.7” because: /usr/lib/x86_64-linux-gnu/libspatialite.so.7: undefined symbol:
sqlite3_spatialite_init
você encontrou o mesmo problema que nós.
Isto foi experimentado na versão do Ubuntu 16.04 e provavelmente afeta a todos os derivados (no nosso caso, afetou o Mint).
A resolução é simples. Instale algumas coisas e defina uma variável de ambiente:
Instale:
sudo apt-get install libspatialite3-mod-spatialite
Configure sua variável de ambiente:
echo SPATIALITE_LIBRARY_PATH="mod_spatialite" >> ~/.bashrc
Reinicie seu shell para que ele possa ler a configuração (ou dê um source no mesmo, tanto faz :D).
No Django, configure:
SPATIALITE_LIBRARY_PATH = 'mod_spatialite'
E aí, tiveram problemas com essa atualização?
Abraços