[gdal-dev] Cannot compile GDAL 1.10.1 for iOS with spatialite (2, 3 or 4)

Nik Sands nixanz at nixanz.com
Sun Mar 2 15:12:19 PST 2014


Thanks Even, that seems to have done the trick.

Although I've now got a lot of features missing when using a spatial filter to decide what to display.  But that's a whole other issue, and I'll need to do more investigation about that before deciding if I need to ask about it here.  :-)

Cheers,
Nik.


On 28 Feb 2014, at 11:02 pm, Even Rouault <even.rouault at mines-paris.org> wrote:

> Selon Nik Sands <nixanz at nixanz.com>:
> 
>> For reference, when I add:
>> 
>> 	LDFLAGS="-liconv -lsqlite3"
>> 
>> And configure says that spatialite is going to be included OK, I eventually
>> get the error:
>> 
>> libtool: link: /Applications/Xcode.app/Contents/Developer/usr/bin/g++ -arch
>> i386 -isysroot
>> 
> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk
>> gdalinfo.o commonutils.o -o gdalinfo -Wl,-bind_at_load
>> /Users/nsands/Documents/Nik/Development/gdal-1.10.1/.libs/libgdal.a
>> 
> -L/Users/nsands/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk/lib
>> -liconv -lsqlite3 -lproj -lexpat -lz -lpthread -ldl -lspatialite -lxml2
>> duplicate symbol _sqlite3_api in:
>> 
>> 
> /Users/nsands/Documents/Nik/Development/gdal-1.10.1/.libs/libgdal.a(ogrsqlitevirtualogr.o)
>> 
>> 
> /Users/nsands/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk/lib/libspatialite.a(libsplite_la-spatialite_init.o)
>> duplicate symbol _sqlite3_extension_init in:
>> 
>> 
> /Users/nsands/Documents/Nik/Development/gdal-1.10.1/.libs/libgdal.a(ogrsqlitevirtualogr.o)
>> 
>> 
> /Users/nsands/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk/lib/libspatialite.a(libsplite_la-spatialite_init.o)
>> ld: 2 duplicate symbols for architecture i386
>> clang: error: linker command failed with exit code 1 (use -v to see
>> invocation)
>> make[1]: *** [gdalinfo] Error 1
>> make: *** [apps-target] Error 2
>> 
> 
> iOS only does static linking, not dynamic right ? Well, in that case, the
> problem is that both libspatialite and libgdal define sqlite3 extensions, hence
> the symbol conflict. If you don't need OGR SQLITE SQL dialect, then you can try
> editing ogr/ogrsf_frmts/sqlite/ogr_sqlite.h to comment #define HAVE_SQLITE_VFS
> and rebuilding GDAL.
> 
>> 
>> On 28 Feb 2014, at 4:47 pm, Nik Sands <nixanz at nixanz.com> wrote:
>> 
>>> Hi all,
>>> 
>>> I can compile GDAL 1.10.1 for iOS OK, including SQLite.  However, I've been
>> unable to include spatialite which I think need to get the performance
>> increase I'm expecting from proper spatial indexing.
>>> 
>>> My 'configure' line is:
>>> 
>>> ./configure
>> 
> --prefix=/Users/nsands/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk
>> 
> --libdir=/Users/nsands/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk/i386/lib
>> --host=i386-apple-darwin --disable-shared --enable-static
>> --with-unix-stdio-64=no --without-pg --without-grass --without-libgrass
>> --without-cfitsio --without-pcraster --without-netcdf --without-ogdi
>> --without-fme --without-hdf4 --without-hdf5 --without-jasper --without-kakadu
>> --without-bsb --without-grib --without-mysql --without-ingres
>> --without-xerces --without-odbc --without-curl --without-idb --without-sde
>> --without-sse
>> 
> --with-expat=/Users/nsands/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk
>> 
> --with-static-proj4=/Users/nsands/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/
>> SD
>>> Ks/iPhon
>>> eSimulator7.0.sdk
>> 
> --with-sqlite3=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk/usr
>> 
> --with-spatialite=/Users/nsands/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk
>>> 
>>> But the output of configure includes:
>>> 
>>> ...
>>> SQLite support:            yes
>>> ...
>>> SpatiaLite support:        no
>>> ...
>>> 
>>> The config.log includes the reasons why (see a large section of it further
>> below).  It is a LOT of undefined symbols related to sqlite3 (and a few from
>> iconv).
>>> 
>>> I've had the same results with Spatialite versions 2, 3 and 4.
>>> 
>>> Initially, I thought the problem might be related to
>> https://trac.osgeo.org/gdal/ticket/5122 however, neither of the work arounds
>> there worked for me.  At least not completely.  If I use the LDFLags work
>> around to force linking against iconv and sqlite3, then the configure appears
>> to work OK and does include spatialite.  However, it then fails to compile
>> with "Duplicate symbol" errors.
>>> 
>>> Could anybody help me to resolve this problem?
>>> 
>>> Cheers,
>>> Nik.
>>> 
>>> 
>>> ------------------
>>> config.log extract
>>> ------------------
>>> 
>>> configure:24960: checking for spatialite_init in -lspatialite
>>> configure:24985: /Applications/Xcode.app/Contents/Developer/usr/bin/gcc -o
>> conftest -arch i386 -pipe -Os -gdwarf-2 -isysroot
>> 
> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk
>> -D__IPHONE_OS_VERSION_MIN_REQUIRED=70000  -arch i386 -isysroot
>> 
> /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk
>> conftest.c -lspatialite
>> 
> -L/Users/nsands/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk/lib
>> -lspatialite
>> 
> -L/Users/nsands/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk/lib
>> -lexpat -lz -lpthread -ldl  >&5
>>> Undefined symbols for architecture i386:
>>> "_iconv", referenced from:
>>>    _gaiaOpenShpRead in libspatialite.a(gg_shape.o)
>>>    _gaiaOpenShpWrite in libspatialite.a(gg_shape.o)
>>>    _parseDbfField in libspatialite.a(gg_shape.o)
>>>    _gaiaWriteShpEntity in libspatialite.a(gg_shape.o)
>>>    _gaiaOpenDbfRead in libspatialite.a(gg_shape.o)
>>>    _gaiaOpenDbfWrite in libspatialite.a(gg_shape.o)
>>>    _gaiaWriteDbfEntity in libspatialite.a(gg_shape.o)
>>>    ...
>>> "_iconv_close", referenced from:
>>>    _gaiaFreeShapefile in libspatialite.a(gg_shape.o)
>>>    _gaiaFreeDbf in libspatialite.a(gg_shape.o)
>>>    _gaiaConvertCharset in libspatialite.a(gg_utf8.o)
>>>    _gaiaFreeDbf in libspatialite.a(gg_shape.o)
>>>    _gaiaConvertCharset in libspatialite.a(gg_utf8.o)
>>>    _gaiaFreeUTF8Converter in libspatialite.a(gg_utf8.o)
>>> "_iconv_open", referenced from:
>>>    _gaiaOpenShpRead in libspatialite.a(gg_shape.o)
>>>    _gaiaOpenShpWrite in libspatialite.a(gg_shape.o)
>>>    _gaiaOpenDbfRead in libspatialite.a(gg_shape.o)
>>>    _gaiaOpenDbfWrite in libspatialite.a(gg_shape.o)
>>>    _gaiaConvertCharset in libspatialite.a(gg_utf8.o)
>>>    _gaiaCreateUTF8Converter in libspatialite.a(gg_utf8.o)
>>> "_sqlite3_aggregate_context", referenced from:
>>>    _fnct_MD5TotalChecksum_step in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_MD5TotalChecksum_final in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_Extent_step in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_Extent_final in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_MakeLine_step in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_MakeLine_final in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_Collect_step in libspatialite.a(libsplite_la-spatialite.o)
>>>    ...
>>> "_sqlite3_auto_extension", referenced from:
>>>    _spatialite_init in libspatialite.a(libsplite_la-spatialite_init.o)
>>> "_sqlite3_bind_blob", referenced from:
>>>    _gaiaExportDxf in libspatialite.a(dxf_writer.o)
>>>    _vfdo_update in libspatialite.a(libsplite_la-virtualfdo.o)
>>> "_sqlite3_bind_double", referenced from:
>>>    _doComputeFieldInfos in libspatialite.a(libsplite_la-statistics.o)
>>>    _do_compute_layer_statistics in
>> libspatialite.a(libsplite_la-statistics.o)
>>>    _vspidx_filter in libspatialite.a(libsplite_la-virtualspatialindex.o)
>>>    _vfdo_update in libspatialite.a(libsplite_la-virtualfdo.o)
>>> "_sqlite3_bind_int", referenced from:
>>>    _fnct_AddGeometryColumn in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _spatial_ref_sys_init2 in libspatialite.a(libsrsinit_la-srs_init.o)
>>>    _insert_epsg_srid in libspatialite.a(libsrsinit_la-srs_init.o)
>>>    _doComputeFieldInfos in libspatialite.a(libsplite_la-statistics.o)
>>>    _do_compute_layer_statistics in
>> libspatialite.a(libsplite_la-statistics.o)
>>> "_sqlite3_bind_int64", referenced from:
>>>    _vfdo_update in libspatialite.a(libsplite_la-virtualfdo.o)
>>>    _vfdo_read_row in libspatialite.a(libsplite_la-virtualfdo.o)
>>>    _build_solution in libspatialite.a(libsplite_la-virtualnetwork.o)
>>> "_sqlite3_bind_null", referenced from:
>>>    _updateSpatiaLiteHistory in libspatialite.a(libsplite_la-metatables.o)
>>>    _doComputeFieldInfos in libspatialite.a(libsplite_la-statistics.o)
>>>    _do_compute_layer_statistics in
>> libspatialite.a(libsplite_la-statistics.o)
>>>    _vfdo_update in libspatialite.a(libsplite_la-virtualfdo.o)
>>> "_sqlite3_bind_parameter_count", referenced from:
>>>    _gaiaExportDxf in libspatialite.a(dxf_writer.o)
>>> "_sqlite3_bind_text", referenced from:
>>>    _gaiaExportDxf in libspatialite.a(dxf_writer.o)
>>> "_sqlite3_bind_text", referenced from:
>>>    _fnct_AddGeometryColumn in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_DiscardGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _updateSpatiaLiteHistory in libspatialite.a(libsplite_la-metatables.o)
>>>    _updateGeometryTriggers in libspatialite.a(libsplite_la-metatables.o)
>>>    _getRealSQLnames in libspatialite.a(libsplite_la-metatables.o)
>>>    _spatial_ref_sys_init2 in libspatialite.a(libsrsinit_la-srs_init.o)
>>>    ...
>>> "_sqlite3_busy_timeout", referenced from:
>>>    _spatialite_init_ex in libspatialite.a(libsplite_la-spatialite.o)
>>> "_sqlite3_changes", referenced from:
>>>    _fnct_CreateSpatialIndex in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_CreateMbrCache in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_DisableSpatialIndex in libspatialite.a(libsplite_la-spatialite.o)
>>> "_sqlite3_clear_bindings", referenced from:
>>>    _fnct_AddGeometryColumn in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_DiscardGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _updateSpatiaLiteHistory in libspatialite.a(libsplite_la-metatables.o)
>>>    _updateGeometryTriggers in libspatialite.a(libsplite_la-metatables.o)
>>>    _getRealSQLnames in libspatialite.a(libsplite_la-metatables.o)
>>>    _gaiaExportDxf in libspatialite.a(dxf_writer.o)
>>>    ...
>>> "_sqlite3_column_blob", referenced from:
>>>    _fnct_RecoverFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _gaiaExportDxf in libspatialite.a(dxf_writer.o)
>>>    _vfdo_read_row in libspatialite.a(libsplite_la-virtualfdo.o)
>>>    _vnet_create in libspatialite.a(libsplite_la-virtualnetwork.o)
>>>    _build_solution in libspatialite.a(libsplite_la-virtualnetwork.o)
>>> "_sqlite3_column_bytes", referenced from:
>>>    _fnct_RecoverFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AddGeometryColumn in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _getRealSQLnames in libspatialite.a(libsplite_la-metatables.o)
>>>    _gaiaExportDxf in libspatialite.a(dxf_writer.o)
>>>    _vspidx_filter in libspatialite.a(libsplite_la-virtualspatialindex.o)
>>>    _vfdo_read_row in libspatialite.a(libsplite_la-virtualfdo.o)
>>>    ...
>>> "_sqlite3_column_count", referenced from:
>>>    _fnct_RecoverFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _gaiaExportDxf in libspatialite.a(dxf_writer.o)
>>>    _fnct_RecoverGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _gaiaExportDxf in libspatialite.a(dxf_writer.o)
>>> "_sqlite3_column_double", referenced from:
>>>    _check_spatial_index in libspatialite.a(libsplite_la-spatialite.o)
>>>    _gaiaGetVectorLayersList in libspatialite.a(libsplite_la-metatables.o)
>>>    _gaiaExportDxf in libspatialite.a(dxf_writer.o)
>>>    _cache_load in libspatialite.a(libsplite_la-mbrcache.o)
>>>    _do_compute_layer_statistics in
>> libspatialite.a(libsplite_la-statistics.o)
>>>    _vfdo_read_row in libspatialite.a(libsplite_la-virtualfdo.o)
>>> "_sqlite3_column_int", referenced from:
>>>    _fnct_RecoverGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _check_spatial_index in libspatialite.a(libsplite_la-spatialite.o)
>>>    _recover_spatial_index in libspatialite.a(libsplite_la-spatialite.o)
>>>    _updateGeometryTriggers in libspatialite.a(libsplite_la-metatables.o)
>>>    _gaiaGetVectorLayersList in libspatialite.a(libsplite_la-metatables.o)
>>>    _gaiaExportDxf in libspatialite.a(dxf_writer.o)
>>>    _cache_load in libspatialite.a(libsplite_la-mbrcache.o)
>>>    ...
>>> "_sqlite3_column_int64", referenced from:
>>>    _gaiaGetVectorLayersList in libspatialite.a(libsplite_la-metatables.o)
>>>    _vspidx_filter in libspatialite.a(libsplite_la-virtualspatialindex.o)
>>>    _vspidx_next in libspatialite.a(libsplite_la-virtualspatialindex.o)
>>>    _vfdo_read_row in libspatialite.a(libsplite_la-virtualfdo.o)
>>>    _build_solution in libspatialite.a(libsplite_la-virtualnetwork.o)
>>> "_sqlite3_column_name", referenced from:
>>>    _gaiaExportDxf in libspatialite.a(dxf_writer.o)
>>> "_sqlite3_column_text", referenced from:
>>>    _fnct_AddGeometryColumn in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverSpatialIndex in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_CheckSpatialIndex in libspatialite.a(libsplite_la-spatialite.o)
>>>    _updateGeometryTriggers in libspatialite.a(libsplite_la-metatables.o)
>>>    _getRealSQLnames in libspatialite.a(libsplite_la-metatables.o)
>>>    _gaiaGetVectorLayersList in libspatialite.a(libsplite_la-metatables.o)
>>>    ...
>>> "_sqlite3_column_type", referenced from:
>>>    _fnct_RecoverFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _check_spatial_index in libspatialite.a(libsplite_la-spatialite.o)
>>>    _gaiaGetVectorLayersList in libspatialite.a(libsplite_la-metatables.o)
>>>    _gaiaExportDxf in libspatialite.a(dxf_writer.o)
>>>    _cache_load in libspatialite.a(libsplite_la-mbrcache.o)
>>>    _do_compute_layer_statistics in
>> libspatialite.a(libsplite_la-statistics.o)
>>>    ...
>>> "_sqlite3_context_db_handle", referenced from:
>>>    _fnct_RTreeAlign in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_IsPopulatedCoverage in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RTreeAlign in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_IsPopulatedCoverage in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_CheckSpatialMetaData in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AutoFDOStart in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AutoFDOStop in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_InitFDOSpatialMetaData in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AddFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    ...
>>> "_sqlite3_create_function", referenced from:
>>>    _register_spatialite_sql_functions in
>> libspatialite.a(libsplite_la-spatialite.o)
>>> "_sqlite3_create_module_v2", referenced from:
>>>    _sqlite3MbrCacheInit in libspatialite.a(libsplite_la-mbrcache.o)
>>>    _sqlite3VirtualSpatialIndexInit in
>> libspatialite.a(libsplite_la-virtualspatialindex.o)
>>>    _sqlite3VirtualDbfInit in libspatialite.a(libsplite_la-virtualdbf.o)
>>>    _sqlite3VirtualFDOInit in libspatialite.a(libsplite_la-virtualfdo.o)
>>>    _sqlite3VirtualNetworkInit in
>> libspatialite.a(libsplite_la-virtualnetwork.o)
>>>    _sqlite3VirtualShapeInit in
>> libspatialite.a(libsplite_la-virtualshape.o)
>>>    _sqlite3VirtualTextInit in libspatialite.a(virtualtext.o)
>>>    ...
>>> "_sqlite3_declare_vtab", referenced from:
>>>    _mbrc_create in libspatialite.a(libsplite_la-mbrcache.o)
>>>    _vspidx_create in libspatialite.a(libsplite_la-virtualspatialindex.o)
>>>    _vdbf_create in libspatialite.a(libsplite_la-virtualdbf.o)
>>>    _vfdo_create in libspatialite.a(libsplite_la-virtualfdo.o)
>>>    _vnet_create in libspatialite.a(libsplite_la-virtualnetwork.o)
>>>    _vshp_create in libspatialite.a(libsplite_la-virtualshape.o)
>>>    _vtxt_create in libspatialite.a(virtualtext.o)
>>>    ...
>>> "_sqlite3_errcode", referenced from:
>>>    _fnct_RecoverFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _updateGeometryTriggers in libspatialite.a(libsplite_la-metatables.o)
>>>    _getRealSQLnames in libspatialite.a(libsplite_la-metatables.o)
>>> "_sqlite3_errmsg", referenced from:
>>>    _fnct_RecoverFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AddGeometryColumn in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_DiscardGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverSpatialIndex in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_CheckSpatialIndex in libspatialite.a(libsplite_la-spatialite.o)
>>>    _check_spatial_index in libspatialite.a(libsplite_la-spatialite.o)
>>>    ...
>>> "_sqlite3_exec", referenced from:
>>>    ...
>>> "_sqlite3_exec", referenced from:
>>>    _fnct_RTreeAlign in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AutoFDOStart in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AutoFDOStop in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_InitFDOSpatialMetaData in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AddFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_DiscardFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    ...
>>> "_sqlite3_finalize", referenced from:
>>>    _fnct_RecoverFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AddGeometryColumn in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_DiscardGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverSpatialIndex in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_CheckSpatialIndex in libspatialite.a(libsplite_la-spatialite.o)
>>>    _check_spatial_index in libspatialite.a(libsplite_la-spatialite.o)
>>>    ...
>>> "_sqlite3_free", referenced from:
>>>    _getProjParams in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RTreeAlign in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AutoFDOStart in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AutoFDOStop in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_InitFDOSpatialMetaData in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AddFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    ...
>>> "_sqlite3_free_table", referenced from:
>>>    _checkSpatialMetaData in libspatialite.a(libsplite_la-spatialite.o)
>>>    _getProjParams in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AutoFDOStart in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AutoFDOStop in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AddFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RegisterVirtualGeometry in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    ...
>>> "_sqlite3_get_table", referenced from:
>>>    _checkSpatialMetaData in libspatialite.a(libsplite_la-spatialite.o)
>>>    _getProjParams in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AutoFDOStart in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AutoFDOStop in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AutoFDOStart in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AutoFDOStop in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AddFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RegisterVirtualGeometry in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    ...
>>> "_sqlite3_last_insert_rowid", referenced from:
>>>    _gaiaInsertIntoSqlLog in libspatialite.a(gg_sqlaux.o)
>>>    _vfdo_update in libspatialite.a(libsplite_la-virtualfdo.o)
>>> "_sqlite3_limit", referenced from:
>>>    _fnct_BlobFromFile in libspatialite.a(libsplite_la-spatialite.o)
>>> "_sqlite3_malloc", referenced from:
>>>    _mbrc_create in libspatialite.a(libsplite_la-mbrcache.o)
>>>    _mbrc_open in libspatialite.a(libsplite_la-mbrcache.o)
>>>    _vspidx_create in libspatialite.a(libsplite_la-virtualspatialindex.o)
>>>    _vspidx_open in libspatialite.a(libsplite_la-virtualspatialindex.o)
>>>    _vdbf_create in libspatialite.a(libsplite_la-virtualdbf.o)
>>>    _vdbf_open in libspatialite.a(libsplite_la-virtualdbf.o)
>>>    _vdbf_filter in libspatialite.a(libsplite_la-virtualdbf.o)
>>>    ...
>>> "_sqlite3_mprintf", referenced from:
>>>    _getProjParams in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RTreeAlign in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AutoFDOStart in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AutoFDOStop in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AddFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_DiscardFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    ...
>>> "_sqlite3_prepare_v2", referenced from:
>>>    _fnct_RecoverFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AddGeometryColumn in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_DiscardGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverSpatialIndex in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_CheckSpatialIndex in libspatialite.a(libsplite_la-spatialite.o)
>>>    _check_spatial_index in libspatialite.a(libsplite_la-spatialite.o)
>>>    ...
>>> "_sqlite3_randomness", referenced from:
>>>    _fnct_CreateUUID in libspatialite.a(libsplite_la-spatialite.o)
>>> "_sqlite3_reset", referenced from:
>>>    _fnct_AddGeometryColumn in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AddGeometryColumn in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_DiscardGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _updateSpatiaLiteHistory in libspatialite.a(libsplite_la-metatables.o)
>>>    _updateGeometryTriggers in libspatialite.a(libsplite_la-metatables.o)
>>>    _getRealSQLnames in libspatialite.a(libsplite_la-metatables.o)
>>>    _gaiaExportDxf in libspatialite.a(dxf_writer.o)
>>>    ...
>>> "_sqlite3_reset_auto_extension", referenced from:
>>>    _spatialite_cleanup in libspatialite.a(libsplite_la-spatialite_init.o)
>>>    _spatialite_cleanup_ex in libspatialite.a(libsplite_la-spatialite.o)
>>> "_sqlite3_result_blob", referenced from:
>>>    _fnct_GetLayerExtent in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_FromGml in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_FromGeoJSON in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_FromKml in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AsFGF in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_FromEWKB in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_FromEWKT in libspatialite.a(libsplite_la-spatialite.o)
>>>    ...
>>> "_sqlite3_result_double", referenced from:
>>>    _fnct_CastToDouble in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_ForceAsNull in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_X in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_Y in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_Z in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_M in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_MbrMinX in libspatialite.a(libsplite_la-spatialite.o)
>>>    ...
>>> "_sqlite3_result_int", referenced from:
>>>    _fnct_has_proj in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_has_geos in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_has_geos_advanced in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_has_geos_trunk in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_has_lwgeom in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_has_math_sql in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_has_geo_callbacks in libspatialite.a(libsplite_la-spatialite.o)
>>>    ...
>>> "_sqlite3_result_int64", referenced from:
>>>    _fnct_CastToInteger in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_ForceAsNull in libspatialite.a(libsplite_la-spatialite.o)
>>>    _mbrc_column in libspatialite.a(libsplite_la-mbrcache.o)
>>>    _vdbf_column in libspatialite.a(libsplite_la-virtualdbf.o)
>>>    _vfdo_column in libspatialite.a(libsplite_la-virtualfdo.o)
>>>    _vnet_column in libspatialite.a(libsplite_la-virtualnetwork.o)
>>>    _vshp_column in libspatialite.a(libsplite_la-virtualshape.o)
>>>    ...
>>> "_sqlite3_result_null", referenced from:
>>>    ...
>>> "_sqlite3_result_null", referenced from:
>>>    _fnct_proj4_version in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_geos_version in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_lwgeom_version in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_libxml2_version in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverSpatialIndex in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_CheckSpatialIndex in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_GetLayerExtent in libspatialite.a(libsplite_la-spatialite.o)
>>>    ...
>>> "_sqlite3_result_text", referenced from:
>>>    _fnct_spatialite_version in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AsText in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AsWkt in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AsGml in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AsGeoJSON in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_ToEWKB in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_ToEWKT in libspatialite.a(libsplite_la-spatialite.o)
>>>    ...
>>> "_sqlite3_step", referenced from:
>>>    _fnct_RecoverFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AddGeometryColumn in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_DiscardGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverSpatialIndex in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_CheckSpatialIndex in libspatialite.a(libsplite_la-spatialite.o)
>>>    _check_spatial_index in libspatialite.a(libsplite_la-spatialite.o)
>>>    ...
>>> "_sqlite3_value_blob", referenced from:
>>>    _fnct_GeometryConstraints in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RTreeAlign in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AsText in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AsWkt in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AsGml in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AsGeoJSON in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AsFGF in libspatialite.a(libsplite_la-spatialite.o)
>>>    ...
>>> "_sqlite3_value_bytes", referenced from:
>>>    _fnct_GeometryConstraints in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RTreeAlign in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AsText in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AsWkt in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AsGml in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AsGeoJSON in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AsFGF in libspatialite.a(libsplite_la-spatialite.o)
>>>    ...
>>> "_sqlite3_value_double", referenced from:
>>>    ...
>>> "_sqlite3_value_double", referenced from:
>>>    _fnct_CastToInteger in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_CastToDouble in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_CastToText in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_ForceAsNull in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_Expand in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_EnvIntersects in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_ShiftCoords in libspatialite.a(libsplite_la-spatialite.o)
>>>    ...
>>> "_sqlite3_value_int", referenced from:
>>>    _fnct_GeometryConstraints in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AddFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_InitSpatialMetaData in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_InsertEpsgSrid in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AddGeometryColumn in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    ...
>>> "_sqlite3_value_int64", referenced from:
>>>    _fnct_RTreeAlign in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_CastToInteger in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_CastToDouble in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_CastToText in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_ForceAsNull in libspatialite.a(libsplite_la-spatialite.o)
>>>    _mbrc_filter in libspatialite.a(libsplite_la-mbrcache.o)
>>>    _mbrc_update in libspatialite.a(libsplite_la-mbrcache.o)
>>>    ...
>>> "_sqlite3_value_text", referenced from:
>>>    _fnct_GeometryConstraints in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RTreeAlign in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_IsPopulatedCoverage in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AddFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_DiscardFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_InitSpatialMetaData in libspatialite.a(libsplite_la-spatialite.o)
>>>    ...
>>> "_sqlite3_value_type", referenced from:
>>>    _fnct_GeometryConstraints in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RTreeAlign in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_IsValidNoDataPixel in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_IsPopulatedCoverage in libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AddFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_AddFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_RecoverFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    _fnct_DiscardFDOGeometryColumn in
>> libspatialite.a(libsplite_la-spatialite.o)
>>>    ...
>>> ld: symbol(s) not found for architecture i386
>>> clang: error: linker command failed with exit code 1 (use -v to see
>> invocation)
>>> configure:24985: $? = 1
>>> configure: failed program was:
>>> | /* confdefs.h */
>>> | #define PACKAGE_NAME ""
>>> | #define PACKAGE_TARNAME ""
>>> | #define PACKAGE_VERSION ""
>>> | #define PACKAGE_STRING ""
>>> | #define PACKAGE_BUGREPORT ""
>>> | #define PACKAGE_URL ""
>>> | #define STDC_HEADERS 1
>>> | #define HAVE_SYS_TYPES_H 1
>>> | #define HAVE_SYS_STAT_H 1
>>> | #define HAVE_STDLIB_H 1
>>> | #define HAVE_STRING_H 1
>>> | #define HAVE_MEMORY_H 1
>>> | #define HAVE_STRINGS_H 1
>>> | #define HAVE_INTTYPES_H 1
>>> | #define HAVE_STDINT_H 1
>>> | #define HAVE_UNISTD_H 1
>>> | #define HAVE_DLFCN_H 1
>>> | #define LT_OBJDIR ".libs/"
>>> | #define HAVE_LIBDL 1
>>> | #define STDC_HEADERS 1
>>> | #define HAVE_ASSERT_H 1
>>> | #define HAVE_FCNTL_H 1
>>> | #define HAVE_UNISTD_H 1
>>> | #define HAVE_DLFCN_H 1
>>> | #define HAVE_STDINT_H 1
>>> | #define HAVE_LIMITS_H 1
>>> | #define HAVE_LOCALE_H 1
>>> | #define HAVE_FLOAT_H 1
>>> | #define HAVE_ERRNO_H 1
>>> | #define SIZEOF_INT 4
>>> | #define SIZEOF_UNSIGNED_LONG 4
>>> | #define SIZEOF_VOIDP 4
>>> | #define HAVE_IEEEFP 1
>>> | #define HOST_FILLORDER FILLORDER_LSB2MSB
>>> | #define HAVE_VPRINTF 1
>>> | #define HAVE_SNPRINTF 1
>>> | #define HAVE_VSNPRINTF 1
>>> | #define HAVE_SNPRINTF 1
>>> | #define HAVE_VSNPRINTF 1
>>> | #define HAVE_ATOLL 1
>>> | #define HAVE_STRTOF 1
>>> | #define HAVE_GETCWD 1
>>> | #define HAVE_DECL_STRTOF 1
>>> | #define HAVE_READLINK 1
>>> | #define HAVE_LSTAT 1
>>> | #define HAVE_POSIX_SPAWNP 1
>>> | #define HAVE_VFORK 1
>>> | #define HAVE_GETADDRINFO 1
>>> | #define HAVE_PTHREAD_MUTEX_RECURSIVE 1
>>> | #define CPL_MULTIPROC_PTHREAD 1
>>> | #define HAVE_ICONV 1
>>> | #define ICONV_CONST
>>> | #define ICONV_CPP_CONST
>>> | /* end confdefs.h.  */
>>> |
>>> | /* Override any GCC internal prototype to avoid an error.
>>> |    Use char because int might match the return type of a GCC
>>> |    builtin and then its argument prototype would still apply.  */
>>> | #ifdef __cplusplus
>>> | extern "C"
>>> | #endif
>>> | char spatialite_init ();
>>> | int
>>> | main ()
>>> | {
>>> | return spatialite_init ();
>>> |   ;
>>> |   return 0;
>>> | }
>>> configure:24994: result: no
>>> configure:25042: result: disabled
>>> _______________________________________________
>>> gdal-dev mailing list
>>> gdal-dev at lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/gdal-dev
>> 
>> _______________________________________________
>> gdal-dev mailing list
>> gdal-dev at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/gdal-dev



More information about the gdal-dev mailing list