<div dir="ltr">Dear Regina<div><br></div><div>As promissed I implemented a variable to pass to cmake to select the PostGIS version</div><div><br></div><div>$ cmake ..<br><br>[...]<br>-- Several PostGIS versions found: Selecting /usr/local/pgsql/13/lib/<a href="http://postgis-2.5.so">postgis-2.5.so</a><br>-- Found POSTGIS: /usr/local/pgsql/13/lib/<a href="http://postgis-2.5.so">postgis-2.5.so</a> (found version "2.5.5")<br>-- POSTGIS_LIBRARY: /usr/local/pgsql/13/lib/<a href="http://postgis-2.5.so">postgis-2.5.so</a><br>-- POSTGIS_CONTROL: /usr/local/pgsql/13/share/extension/postgis.control<br>-- POSTGIS_VERSION: 2.5.5<br>-- POSTGIS_VERSION_STR: PostGIS 2.5.5<br>[...]<br><br></div><div>$ cmake -DPOSTGIS_REQUIRED_VERSION=2.5 ..<br><br>[...]<br>-- Selecting requested PostGIS version: Selecting postgis-2.5<br>-- Found POSTGIS: /usr/local/pgsql/13/lib/<a href="http://postgis-2.5.so">postgis-2.5.so</a> (found version "2.5.5")<br>-- POSTGIS_LIBRARY: /usr/local/pgsql/13/lib/<a href="http://postgis-2.5.so">postgis-2.5.so</a><br>-- POSTGIS_CONTROL: /usr/local/pgsql/13/share/extension/postgis.control<br>-- POSTGIS_VERSION: 2.5.5<br>-- POSTGIS_VERSION_STR: PostGIS 2.5.5<br>[...]<br><br>Thanks for the pointer to QGIS, I was already basing our FindGEOS on theirs, and I needed to modify it since the first line does apply to us</div><div><br></div><div><span class="gmail-pl-c1" style="box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:12px;white-space:pre">INCLUDE</span><span style="color:rgb(36,41,47);font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:12px;white-space:pre"> (</span><span class="gmail-pl-smi" style="box-sizing:border-box;color:rgb(36,41,47);font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:12px;white-space:pre">${CMAKE_SOURCE_DIR}</span><span style="color:rgb(36,41,47);font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:12px;white-space:pre">/cmake/MacPlistMacros.cmake)</span><br></div><div><span style="color:rgb(36,41,47);font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;font-size:12px;white-space:pre"><br></span></div><div>I will take again theirs and introduce the minimal required modifications.</div><div><br></div><div>Regards</div><div><br></div><div>Esteban</div><div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><br></div><div>------------------------------------------------------------<br>Prof. Esteban Zimanyi<br>Department of Computer & Decision Engineering  (CoDE) CP 165/15    <br>Universite Libre de Bruxelles            <br>Avenue F. D. Roosevelt 50                <br>B-1050 Brussels, Belgium                 <br>fax: + 32.2.650.47.13<br>tel: + 32.2.650.31.85<br>e-mail: <a href="mailto:esteban.zimanyi@ulb.be" target="_blank">esteban.zimanyi@ulb.be</a><br>Internet: <a href="http://cs.ulb.ac.be/members/esteban/" target="_blank">http://cs.ulb.ac.be/members/esteban/</a><br>------------------------------------------------------------</div></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Aug 31, 2021 at 9:10 PM Regina Obe <<a href="mailto:lr@pcorp.us">lr@pcorp.us</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div class="gmail-m_4310746039100354849WordSection1"><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Sorry forgot to add to mailing list.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><div><div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0in 0in"><p class="MsoNormal"><b><span style="font-size:11pt;font-family:Calibri,sans-serif">From:</span></b><span style="font-size:11pt;font-family:Calibri,sans-serif"> Regina Obe [mailto:<a href="mailto:lr@pcorp.us" target="_blank">lr@pcorp.us</a>] <br><b>Sent:</b> Tuesday, August 31, 2021 3:09 PM<br><b>To:</b> 'Esteban Zimanyi' <<a href="mailto:estebanzimanyi@gmail.com" target="_blank">estebanzimanyi@gmail.com</a>><br><b>Subject:</b> RE: [Mobilitydb-dev] First build for both PostGIS 2.5.5 and 3.1.3 !<u></u><u></u></span></p></div></div><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">It looks for the geos-config file <u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><a href="https://git.osgeo.org/gitea/postgis/postgis/src/branch/master/configure.ac#L672" target="_blank">https://git.osgeo.org/gitea/postgis/postgis/src/branch/master/configure.ac#L672</a><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><a href="https://git.osgeo.org/gitea/postgis/postgis/src/branch/master/configure.ac#L704" target="_blank">https://git.osgeo.org/gitea/postgis/postgis/src/branch/master/configure.ac#L704</a><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">I wouldn’t suggest doing it that way.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Might make more sense to follow how QGIS does it if you aren’t already since they have logic for a lot of platforms.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><a href="https://github.com/qgis/QGIS/blob/master/cmake/FindGEOS.cmake" target="_blank">https://github.com/qgis/QGIS/blob/master/cmake/FindGEOS.cmake</a><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">I personally haven’t tried to compile QGIS but given the number of people that do, I’m sure it’s very well tested across many platforms.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Anyway don’t worry about it too much.  It looks like I should be able to pass in the GEOS_LIBRARY path the way you have it.  I’ll give that a try next.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Thanks.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Regina<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><div style="border-top:none;border-right:none;border-bottom:none;border-left:1.5pt solid blue;padding:0in 0in 0in 4pt"><div><div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0in 0in"><p class="MsoNormal"><b><span style="font-size:11pt;font-family:Calibri,sans-serif">From:</span></b><span style="font-size:11pt;font-family:Calibri,sans-serif"> Esteban Zimanyi [<a href="mailto:estebanzimanyi@gmail.com" target="_blank">mailto:estebanzimanyi@gmail.com</a>] <br><b>Sent:</b> Tuesday, August 31, 2021 2:37 PM<br><b>To:</b> Regina Obe <<a href="mailto:lr@pcorp.us" target="_blank">lr@pcorp.us</a>><br><b>Subject:</b> Re: [Mobilitydb-dev] First build for both PostGIS 2.5.5 and 3.1.3 !<u></u><u></u></span></p></div></div><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">Thanks Regina for taking over so quickly !<u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">I can work tomorrow on this, I will try to add a parameter to include the version and will remove the extra check I have tentatively put to ensure a single version of PostGIS.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Regarding the second issue, maybe you could look at how PostGIS looks for GEOS. Alas I do not yet understand the configuration language used in PostGIS for doing that.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Regards<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Esteban<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"><br clear="all"><u></u><u></u></p><div><div><div><div><p class="MsoNormal">------------------------------------------------------------<br>Prof. Esteban Zimanyi<br>Department of Computer & Decision Engineering  (CoDE) CP 165/15    <br>Universite Libre de Bruxelles            <br>Avenue F. D. Roosevelt 50                <br>B-1050 Brussels, Belgium                 <br>fax: + 32.2.650.47.13<br>tel: + 32.2.650.31.85<br>e-mail: <a href="mailto:esteban.zimanyi@ulb.be" target="_blank">esteban.zimanyi@ulb.be</a><br>Internet: <a href="http://cs.ulb.ac.be/members/esteban/" target="_blank">http://cs.ulb.ac.be/members/esteban/</a><br>------------------------------------------------------------<u></u><u></u></p></div></div></div></div><p class="MsoNormal"><u></u> <u></u></p></div></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">On Tue, Aug 31, 2021 at 8:27 PM Regina Obe <<a href="mailto:lr@pcorp.us" target="_blank">lr@pcorp.us</a>> wrote:<u></u><u></u></p></div><blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin:5pt 0in 5pt 4.8pt"><div><div><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">I’m still having trouble compiling against this branch.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">The first issue is: <a href="https://github.com/MobilityDB/MobilityDB/blob/towards-postgis3/cmake/FindPOSTGIS.cmake#L25" target="_blank">https://github.com/MobilityDB/MobilityDB/blob/towards-postgis3/cmake/FindPOSTGIS.cmake#L25</a>  </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Is looking for a .so file.  On windows that would be .dll  and on Mac I forget the extension</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">file(GLOB POSTGIS_LIBRARY "${POSTGRESQL_DYNLIB_DIR}/postgis-*.so")</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">If I change to </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">file(GLOB POSTGIS_LIBRARY "${POSTGRESQL_DYNLIB_DIR}/postgis-*.*")</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">It detects but then gives a message:</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:14pt;font-family:"Lucida Console"">CMake Error at cmake/FindPOSTGIS.cmake:31 (message):</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:14pt;font-family:"Lucida Console"">  Several versions of the PostGIS library have been found</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Yes I do have several versions of PostGIS installed in the same instance.  So this might be more of an issue for me than anyone else.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Is there a way to pass via CMake specify the version of PostGIS to use?</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">After hard-coding the path of postgis lib and changing my postgis.control (to match the one I hard-coded)</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">I got to this point:</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:14pt;font-family:"Lucida Console"">-- LITTLE_ENDIAN</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:14pt;font-family:"Lucida Console"">GEOS_INCLUDE_DIR=C:/ming64gcc81/projects/geos/rel-3.9w64gcc81/include</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:14pt;font-family:"Lucida Console"">GEOS_LIBRARY=</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:14pt;font-family:"Lucida Console"">CMake Error at cmake/FindGEOS.cmake:115 (MESSAGE):</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:14pt;font-family:"Lucida Console"">  Could not find GEOS.  Perhaps try:</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:14pt;font-family:"Lucida Console""> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:14pt;font-family:"Lucida Console"">  $ sudo apt-get install libgeos++-dev</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">I’m checking to see what I missed here.  Might be a missing lib path I didn’t pass in.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Thanks,</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Regina</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"> </span><u></u><u></u></p><div style="border-top:none;border-right:none;border-bottom:none;border-left:1.5pt solid blue;padding:0in 0in 0in 4pt"><div><div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0in 0in"><p class="MsoNormal"><b><span style="font-size:11pt;font-family:Calibri,sans-serif">From:</span></b><span style="font-size:11pt;font-family:Calibri,sans-serif"> Mobilitydb-dev [mailto:<a href="mailto:mobilitydb-dev-bounces@lists.osgeo.org" target="_blank">mobilitydb-dev-bounces@lists.osgeo.org</a>] <b>On Behalf Of </b>Esteban Zimanyi<br><b>Sent:</b> Friday, August 27, 2021 9:29 AM<br><b>To:</b> <a href="mailto:mobilitydb-dev@lists.osgeo.org" target="_blank">mobilitydb-dev@lists.osgeo.org</a><br><b>Subject:</b> [Mobilitydb-dev] First build for both PostGIS 2.5.5 and 3.1.3 !</span><u></u><u></u></p></div></div><p class="MsoNormal"> <u></u><u></u></p><div><p class="MsoNormal">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 !<u></u><u></u></p><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">The build is in the branch<u></u><u></u></p><div><p class="MsoNormal"><a href="https://github.com/MobilityDB/MobilityDB/tree/towards-postgis3" target="_blank">https://github.com/MobilityDB/MobilityDB/tree/towards-postgis3</a><u></u><u></u></p></div><div><p class="MsoNormal">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.<u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">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.<u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">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.<u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">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.<u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">Esteban<u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div></div></div></div></div></div></blockquote></div></div></div></div>_______________________________________________<br>
Mobilitydb-dev mailing list<br>
<a href="mailto:Mobilitydb-dev@lists.osgeo.org" target="_blank">Mobilitydb-dev@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/mobilitydb-dev" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/mobilitydb-dev</a><br>
</blockquote></div>