On Thu, 21 Sep 2017 03:59:05 -0700 (PDT), khanh dinh wrote:
> Hi,
>
> Does someone have this issue while compiling spatialite_gui ?
> I run configure without any issue.
>
> The run make and this error occured .... <snip> ....
>
Hi Khanh,
let's examine the errors you are receiving:
main issue
-----------------------
> undefined reference to `spatialite_finalize_topologies'
>
this error clearly shows that you are currently using a copy
of libspatialite being compiled without Topology support.
Topology in libspatialite-4.5.0 is an optional module, and
it's always disabled when using the default ./configure script;
but Topology is a mandatory pre-requisite for spatialite_gui
2.1.0, so you necessarily have to explicitly enable Topology
when building libspatialite-4.5.0, if you are planning to build
spatialite_gui-2.1.0 as well.
./configure --enable-rttopo=yes --enable-gcp=yes
the above one is the required setting for correctly configure
libspatialite in such a way that it could support the GUI.
note #1: both rttopo (aka Topology) and gcp (aka Ground
Control Points) are kept disabled in the standard
default configuration because enabling them
automatically causes a licence escalation from
MPL-tri-license to strict GPL.
note #2: --enable-rttopo=yes requires a further dependency:
librttopo _MUST_ be correctly installed before
attempting to configure and build libspatialite.
building librttopo requires downloading the latest
sources from its Git repository at:
https://git.osgeo.org/gogs/rttopo/librttopo
other issues
------------------------------
> undefined reference to `load_shapefile_ex3'
> undefined reference to `load_dbf_ex3'
> undefined reference to `gaiaIsGpxXmlBlob'
> undefined reference to `gaiaDropTableEx3'
> undefined reference to `gaiaDropTableEx3'
> undefined reference to `load_from_wfs_paged_ex'
>
"gaiaIsGpxXmlBlob" was committed into the Fossil repository
on 2015-12-11
"gaiaDropTableEx3" was committed on 2016-03-12
both "load_shapefile_ex3" and "load_dbf_ex3" were committed
on 2016-07-29
"load_from_wfs_paged_ex" was committed on 2016-12-05
this demonstrates beyond any possible double that you are
actually using a really obsolete libspatialite.
my educated guess: you probably have two or more copies
of libspatialite installed on different directories,
and the configure script is unable to correctly choose
the most recent one.
hint: try to appropriately set CPPFLAGS, LDFLAGS and
PKG_CONFIG_PATH; and carefully check your "config.log"
file.
bye Sandro