[Mobilitydb-dev] First build for both PostGIS 2.5.5 and 3.1.3 !

Esteban Zimanyi esteban.zimanyi at ulb.be
Fri Aug 27 06:28:42 PDT 2021


I was able to produce a first build that works for both PostGIS 2.5.5 and
3.1.3. This is great news since we have been waiting for almost two years
to be able to make MobilityDB work with PostGIS 3 !

The build is in the branch
https://github.com/MobilityDB/MobilityDB/tree/towards-postgis3
There is still one test (51_tpoint.test.sql) that gives different results
in version 3.1.3. The reason may be that the lwgeom_hash function was
changed in version 3.1.3. I will look at this in the forthcoming days.

The source files of the PostGIS directories liblwgeom, libpgcommon, and ryu
were copied into the directory MobilityDB/postgis, in addition to the two
files postgis_config.h and postgis_revision.h. Minimal changes were done to
these files, basically removing static keywords for the
functions getSRSbySRID, getSRIDbySRS and circ_tree_distance_tree_internal
so that they can be called by MobilityDB.

The basic idea of the build is that if a PostGIS version less than 3.0 is
found, then library liblwgeom.so is loaded. Otherwise, the directory
MobilityDB/postgis is added to the build.

Please notice that this is still a proof-of-concept build. Indeed, I first
built PostGIS 3.1.3 in my machine and therefore this build generated the
right parameters for the files postgis_config.h and postgis_revision.h that
are embedded in MobilityDB/postgis. This concerns in particular the setting
of the machine endian constant. Therefore, we need to replicate in
MobilityDB some of the configuration PostGIS makes in order to produce the
right postgis_config.h and postgis_revision.h according to the machine
characteristics at hand. I will work on that in the forthcoming days.

Esteban
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mobilitydb-dev/attachments/20210827/ced466b1/attachment.html>


More information about the Mobilitydb-dev mailing list