Can't link with libspatialite-4.3.0 if GEOS is disabled (gaiaCreateDxfParser is undefined)

106 views
Skip to first unread message

Francois Birot

unread,
Jul 6, 2015, 6:48:48 AM7/6/15
to spatiali...@googlegroups.com
Hi there,

I just compiled libspatialite for iOS without GEOS (in order not to have issues with the LGPL license that is problematic with iOS). Yet I get the following error when trying to link with the compiled library:
 

Undefined symbols for architecture arm64:

  "_gaiaCreateDxfParser", referenced from:

      _load_dxf in libspatialite-nogeos.a(libsplite_la-spatialite.o)

  "_load_shapefile_ex2", referenced from:

      _fnct_ImportSHP in libspatialite-nogeos.a(libsplite_la-spatialite.o)

  "_gaiaDestroyDxfParser", referenced from:

      _load_dxf in libspatialite-nogeos.a(libsplite_la-spatialite.o)

  "_gaiaParseDxfFile_r", referenced from:

      _load_dxf in libspatialite-nogeos.a(libsplite_la-spatialite.o)

  "_dump_shapefile", referenced from:

      _fnct_ExportSHP in libspatialite-nogeos.a(libsplite_la-spatialite.o)

  "_dump_dbf_ex", referenced from:

      _fnct_ExportDBF in libspatialite-nogeos.a(libsplite_la-spatialite.o)

  "_load_dbf_ex2", referenced from:

      _fnct_ImportDBF in libspatialite-nogeos.a(libsplite_la-spatialite.o)

ld: symbol(s) not found for architecture arm64

clang: error: linker command failed with exit code 1 (use -v to see invocation)


The problem is that, the load_dxf function that was added in libspatialite 4.3 (in spatialite.c) is not in a #ifndef OMIT_GEOS / #endif block while it uses functions (gaiaCreateDxfParser) that are only defined (in dxf_parser.c) if OMIT_GEOS is not set.


sandro furieri

unread,
Jul 12, 2015, 1:34:20 PM7/12/15
to spatiali...@googlegroups.com, fran...@birot.net
Il giorno lunedì 6 luglio 2015 12:48:48 UTC+2, Francois Birot ha scritto:
Hi there,

I just compiled libspatialite for iOS without GEOS (in order not to have issues with the LGPL license that is problematic with iOS). Yet I get the following error when trying to link with the compiled library:

The problem is that, the load_dxf function that was added in libspatialite 4.3 (in spatialite.c) is not in a #ifndef OMIT_GEOS / #endif block while it uses functions (gaiaCreateDxfParser) that are only defined (in dxf_parser.c) if OMIT_GEOS is not set.


Hi Framcois,

yes, I confirm: this issue: it's now definitely fixed in the Fossil repository
and we'll distributed with the next release (presumably not before  the
end of this summer).

it's a real pity that your bug report was submitted immediately after releasing
4.3.0 "stable": if it had been promptly submitted in the previous two weeks
during the Release Candidate refining steps we'll now have a 4.3.0 immune
from this minor glitch,
the intended scope of Release Candidates community testing in exactly the
one to identify and resolve stupid issues like this *before* and not *after*
actually releasing --- it will be for the next time ;-)

bye Sandro

François Birot

unread,
Jul 13, 2015, 11:18:06 AM7/13/15
to spatiali...@googlegroups.com
That’s indeed a pity, but thanks anyway for fixing it Sandro !


--
You received this message because you are subscribed to a topic in the Google Groups "SpatiaLite Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/spatialite-users/ptdh7Gl2TfY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to spatialite-use...@googlegroups.com.
To post to this group, send email to spatiali...@googlegroups.com.
Visit this group at http://groups.google.com/group/spatialite-users.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages