[geos-devel] Is GEOS 3.11 C-API upward compatible with GEOS 3.9.0

Regina Obe lr at pcorp.us
Mon Dec 6 22:52:18 PST 2021

> From: geos-devel [mailto:geos-devel-bounces at lists.osgeo.org] On Behalf Of
> Paul Ramsey
> Sent: Monday, December 6, 2021 8:41 PM
> To: GEOS Development List <geos-devel at lists.osgeo.org>
> Subject: Re: [geos-devel] Is GEOS 3.11 C-API upward compatible with GEOS
> 3.9.0
> Semi worthless data point on this, but I did want to verify that
everything still
> worked at least for me, so I built against GEOS 3.6 and then swapped in
> everything from 3.6 to main at runtime, and it all worked fine.
> P
[Regina Obe] 
What are your libraries called? Did the names stay the same? 

In case you got lost in my long rant.

Greg suggested looking at ldd and ldd showed the culprit.
I suspect it might just be a windows issue, possibly even  mingw64 cmake

The issue is the file names changed in my cmake builds between 3.10.0 to

So my 3.10.0 build had these files (and all versions I have built, including
GEOS 3.6 have had these names). 
The fact they never changed made me happy (and I kept my mouth shut at the
beauty of this bug).

c-api => libgeos_c.dll
c++ api ->  libgeos.dll

and from 3.10.1 forward, my files look like yuck:
c-api => libgeos_c-1.dll
c++ api -> libgeos-3.10.1.dll

One can rightfully argue, that the old 3.10.0 behavior was a bug (I call it
feature or a beautiful bug :) )
And that 3.10.1 is the proper way to version since the c++ abi is 
unstable it should be changing in each micro-release.

I'm just a bit irritated this changed happened in a micro-release.
Not a huge deal.


More information about the geos-devel mailing list