[gdal-dev] Problem to compile in Lucid with Spatialite 3.0 and gdal 1.9

Thomas Gratier osgeo.mailinglist at gmail.com
Mon Jan 23 20:32:05 EST 2012


Hello all,

I've done some tests to build gdal 1.9.0 in Ubuntu 10.04 (Lucid)
I've build proj 3.3.2, Sqlite 3.3.10, Free XL 1.0.0b, libspatialite
amalgation 3.0.0, spatialite-tools 3.0.0
No problem with sqlite alone.

#####################################################
My main problem is when I compile gdal for spatialite support.
#####################################################

I do

./configure --with-geos=yes --with-python --with-spatialite=yes
--with-sqlite3=yes --with-curl=/usr/bin/
--with-pg=/usr/lib/postgresql/9.0/bin/pg_config
make

and I get

...
libtool: link: g++ .libs/gdalinfo.o -o .libs/gdalinfo
/home/thomas/compile/gdal-1.9.0/.libs/libgdal.so -L/usr/local/lib
-L/usr/lib /usr/lib/libodbc.so /usr/lib/libodbcinst.so /usr/lib/libexpat.so
-lxerces-c /usr/lib/libNCSEcw.so /usr/lib/libNCSEcwC.so
/usr/lib/libNCSCnet.so /usr/lib/libNCSUtil.so /usr/lib/libjasper.so
-lnetcdf /usr/lib/libhdf5.so /usr/lib/libmfhdfalt.so /usr/lib/libdfalt.so
-logdi /usr/lib/libgif.so /usr/lib/libjpeg.so -lpng -lpq -lz -lrt
/usr/local/lib/libspatialite.so -lpthread -ldl /usr/local/lib/libfreexl.so
/usr/local/lib/libgeos_c.so /usr/local/lib/libgeos.so /usr/lib/libproj.so
-lm /usr/lib/libcurl-gnutls.so
gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_bind_int'
gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_column_double'
gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_exec'
gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_column_text'
gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_bind_double'
gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_bind_blob'
gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_step'
gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_get_table'
gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_open'
gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_free_table'
gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_reset'
gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_vfs_find'
gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_column_bytes'
gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_clear_bindings'
gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_column_blob'
gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_vfs_unregister'
gdal-1.9.0/.libs/libgdal.so: undefined reference to
`sqlite3_last_insert_rowid'
gdal-1.9.0/.libs/libgdal.so: undefined reference to
`sqlite3_libversion_number'
gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_column_name'
gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_prepare'
gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_vfs_register'
gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_column_int'
gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_prepare_v2'
gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_finalize'
gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_bind_text'
gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_column_count'
gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_close'
gdal-1.9.0/.libs/libgdal.so: undefined reference to
`sqlite3_column_decltype'
gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_column_type'
gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_errmsg'
gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_bind_null'
gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_free'
gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_open_v2'

With the ./configure, the return was
SQLite support:            yes
SpatiaLite support:        yes

Doing

ldd /home/thomas/compile/gdal-1.9.0/.libs/libgdal.so|grep lite
return
libspatialite.so.2 => /usr/local/lib/libspatialite.so.2 (0x012ec000)


#############################################################
The same case without --with-spatialite=yes
no problem in the make, but no spatialite support
#############################################################

./configure --with-geos=yes --with-python --with-sqlite3=yes
--with-curl=/usr/bin/ --with-pg=/usr/lib/postgresql/9.0/bin/pg_config
make

Doing

ldd /home/thomas/compile/gdal-1.9.0/.libs/libgdal.so|grep lite
return
libsqlite3.so.0 => /usr/local/lib/libsqlite3.so.0 (0x0040f000)

########
Question
########

I suppose the list of
"gdal-1.9.0/.libs/libgdal.so: undefined reference to `sqlite3_*" is sent
because of the missing
libsqlite3.so.0 => /usr/local/lib/libsqlite3.so.0 (0x0040f000)
but why the libgdal.so doesn't reference libsqlite3.so too when building
using --with-spatialite=yes
For information, I've used ldconfig after each build of each lib.
Any clue is welcome, maybe I miss something obvious.

Thanks

ThomasG
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/gdal-dev/attachments/20120124/e9859b11/attachment.html


More information about the gdal-dev mailing list