[Gfoss] errore compilazione GDAL 1.9

a.furieri a lqt.it a.furieri a lqt.it
Lun 9 Gen 2012 16:46:22 CET


On Mon, 9 Jan 2012 15:04:24 +0100, flavio rigolon wrote
> ciao,
>  sto cercando di compilare le GDAL 1.9 da sorgente (su debian
> unstable) ma ottengo degli errori.
> 
> Ecco il configure:
> $ ./configure --with-spatialite=/usr/local
> 
> che restituisce:
> .....
> /home/sit/src/gdal/.libs/libgdal.so: undefined reference to `SPLite3_prepare'
> 
> Qualcuno ha qualche idea in merito?
> 

Ciao Flavio,

ogni volta che ti trovi qualche simbolo "SPLite3_xxx" non risolto
significa che stai usando una libspatialite che e' stata
ottenuta a partire dai sorgenti "amalgamation" (quelli che
contengono una copia private interna di SQLite).
l'errore ti viene fuori semplicemente perche' poi invece
di includere l'header-file "privato" installato da libspatialite:
#include <spatialite/sqlite3.h>
stai cercando di utilizzare quello di libsqlite "normale":
#include "sqlite3.h"

N.B.: su Linux usare l'amalgamation non e' una gran bella
idea; su Windows serve per facilitare la build e semplificare
la distribuzione, ma su Linux sarebbe meglio evitare del tutto
di utilizzarla, visto che comunque e' disponibile una libsqlite
di sistema.

Se proprio vuoi utilizzare la spatialite-amalgamation,
GDAL e' in grado di supportarla; ma in questo caso (visto
che non e' il default atteso), allora devi settare un 
apposito flag per utilizzare gli header-files "privati"
che l'amalgamation richiede:

export "CFLAGS=-DSPATIALITE_AMALGAMATION"
export "CXXFLAGS=-DSPATIALITE_AMALGAMATION"
./configure
make

vedrai che poi ti va tutto magicamente a posto

ciao Sandro


Maggiori informazioni sulla lista Gfoss