[gdal-dev] Problem to compile in Lucid with Spatialite 3.0 and
gdal 1.9
a.furieri at lqt.it
a.furieri at lqt.it
Tue Jan 24 04:22:08 EST 2012
HI Frank and Even,
I confirm that Even is absolutely right: using the "amalgamation"
on Linux is strongly discouraged, and may pose several problems
if not properly handled. Just few technical clarifications:
a) libspatialite expects to link an external lisqlite3; there
is absolutely nothing extraordinary in this, it's the standard
behavior expected on Linux.
b) on the other side, libspatialite-amalgamation internally includes
a private copy of the most recent sqlite sources: but in order to
avoid any obnoxious interference with the "system" libsqlite, any
link symbol exported by this "internal private copy" is purposely
masked (renamed).
Please note well:
1) when the "external/system" libsqlite is intended to be used, C/C++
sources must include the corresponding standard header-file:
#include <sqlite3.h>
2) but when the "private/internal" libsqlite is intended to be used,
C/C++ sources must absolutely include the header-file installed by
libspatialite, and not the "standard" one:
#include <spatialite/sqlite3.h>
A -DSPATIALITE_AMALGAMATION conditional macro is usually supported by
any spatialite-aware package, in order to make configuration as painless
as possible: and GDAL/OGR supports this SPATIALITE_AMALGAMATION macro.
So, if for any good reason you absolutely want to build GDAL on Linux
using the "amalgamation" (a strongly discouraged option IMHO), you can
try using the following recipe:
export "CPPFLAGS=-DSPATIALITE_AMALGAMATION=1"
./configure --with-spatialite=/usr/local
make
bye Sandro
More information about the gdal-dev
mailing list