On Sat, 5 Mar 2016 10:18:02 +0100, andrea antonello wrote:
> Well, actually one small glitch, which I am still not sure about.
>
> Compilations complained about the missing function:
> sqlite3_column_table_name
> in the sqlite installation. At first I thought it was a missing
> reference to the library path, but then I found out the sqlite3 was
> not compiled by default with that (and a few other functions).
>
> Adding:
> #define SQLITE_ENABLE_COLUMN_METADATA 1
> did the trick.
>
> Any idea?
>
Ciao Andrea,
SQLite effectively has an optional sqlite3_column_table_name()
C API, but it's usually disabled in any standard build; as you've
already discovered by yourself enabling this API (and few
others strictly related) always requires to explicitly
declare SQLITE_ENABLE_COLUMN_METADATA
and there are more conditional macros selectively enabling
more sqlite APIs.
just as an example, the usual recipe I personally adopt when
building sqlite3 on Windows using MinGW/MSys is:
cd sqlite-<version>
export "CFLAGS=-DSQLITE_ENABLE_STAT3=1 -DSQLITE_ENABLE_TREE_EXPLAIN=1 \
-DSQLITE_ENABLE_UPDATE_DELETE_LIMIT=1
-DSQLITE_ENABLE_FTS3_PARENTHESIS=1 \
-DSQLITE_ENABLE_COLUMN_METADATA=1"
./configure
make
make install-strip
what is not really clear to me is:
1. "who" exactly complained about missing sqlite3_column_table_name ?
2. "where" do you added your #define ?
AFAIK neither libspatialite nor librasterlite2 nor spatialite_gui
never call sqlite3_column_table_name()
just a possible suggestion: accordingly to the following posts
it seems that gdal too had similar troubles on Ubuntu:
http://lists.osgeo.org/pipermail/gdal-dev/2015-January/040848.html
https://bugs.launchpad.net/ubuntu/+source/gdal/+bug/1406679
bye Sandro