I was always under the assumption that the C-API should be upward compatible (only the C++ API is unstable).
Normally I can do the following: Compile PostGIS with GEOS say 3.9.0 Launch my PostgreSQL with GEOS 3.9.0 Then launch again with newer GEOS - in this case GEOS 3.11. So my PostGIS is compiled with GEOS 3.9.0, but it should work with GEOS 3.11. What I am finding is it is not. I thought maybe I had the paths wrong so I double-checked a couple of times. This is what I get when I swap out the older GEOS 3.9.0 with newer GEOS 3.11 (main branch) And then run any PostGIS function. ERROR: could not load library "C:/ming64gcc81/projects/postgresql/rel/pg14w64gcc81/lib/postgis-3.2.dll": The specified module could not be found. I then tried to swap with GEOS 3.10.0 and that worked okay. POSTGIS="3.2.0dev 3.2.0beta3-2-g0b32bdd14" [EXTENSION] PGSQL="140" GEOS="3.10.0-CAPI-1.16.0" PROJ="7.2.1" GDAL="GDAL 3.3.3, released 2021/10/25" LIBXML="2.9.9" LIBJSON="0.12" LIBPROTOBUF="1.2.1" WAGYU="0.5.0 (Internal)" TOPOLOGY RASTER GEOS 3.10.1 - errors ERROR: could not load library "C:/ming64gcc81/projects/postgresql/rel/pg14w64gcc81/lib/postgis-3.2.dll": The specified module could not be found. Can someone confirm that? If it's just an issue with PostGIS 3.2, I guess that is okay, though I would think it would mean just the newer features like MakeValid would not be enabled by swapping out with a newer GEOS, but it shouldn't break install. Also why GEOS 3.10.0 works and GEOS 3.10.1 doesn't is very concerning. FWIW: all were built under CMake. Though I think the ENABLE_INLINE whatever that CMAKE switch is might be different between the working and non-working versions. Thanks, Regina _______________________________________________ geos-devel mailing list geos-devel@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/geos-devel