<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, May 17, 2019, 7:56 AM Sebastiaan Couwenberg <<a href="mailto:sebastic@xs4all.nl">sebastic@xs4all.nl</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 5/17/19 2:21 PM, Andrew Bell wrote:<br>
<br>
> Are you not rebuilding packages?<br>
<br>
Obviously we are. And that's the problem, new GEOS releases tend to<br>
cause build failures for the projects that rely on the C++ API.<br>
<br>
Everything that relies on the stable C API doesn't need to be rebuilt<br>
for new GEOS releases.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">This implies that "stable" is the</div><div dir="auto">important bit. This is, IMO, a design issue, rather than one of a language choice, generally speaking.</div><div dir="auto"><br></div><div dir="auto">For people writing C++ there is real value in a stable and well-designed C++ library interface that simplifies development and potentially reduces bugs. This is an important consideration. For example, dealing with memory ownership for some C libraries can be trouble and can make for convoluted code.</div><div dir="auto"><br></div><div dir="auto">Frequent, breaking API changes seem a problem. ABI changes seem more like a small annoyance. I can understand how a stable ABI would be nice, but I personally don't think it's more important than a good interface for library users.</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
> On Fri, May 17, 2019, 6:30 AM Sebastiaan Couwenberg <<a href="mailto:sebastic@xs4all.nl" target="_blank" rel="noreferrer">sebastic@xs4all.nl</a>><br>
> wrote:<br>
> <br>
>> On 5/17/19 1:14 PM, Andrew Bell wrote:<br>
>>> Why is this? There are many libraries that have C++ interfaces.<br>
>><br>
>> Which also have difficulty providing a stable ABI. One that doesn't<br>
>> change the symbols it exports with the new compiler releases, etc.<br>
>><br>
>> Having a stable C ABI is a major plus for any project that uses C++ in<br>
>> its codebase, it makes transitions to new releases much easier. A core<br>
>> library like GEOS have many projects that require it, some are actively<br>
>> maintained and implement changes quicky, others don't. And these make<br>
>> life suck for distributions where all the projects need to be integrated<br>
>> to work with the same version of GEOS.<br>
>><br>
>>> On Thu, May 16, 2019, 11:37 PM Sebastiaan Couwenberg <<a href="mailto:sebastic@xs4all.nl" target="_blank" rel="noreferrer">sebastic@xs4all.nl</a><br>
>>><br>
>>> wrote:<br>
>>><br>
>>>> On 5/16/19 11:28 PM, Mateusz Loskot wrote:<br>
>>>>> I'd like propose to effectively revert the RFC 6:<br>
>>>>><br>
>>>>> <a href="https://trac.osgeo.org/geos/wiki/RFC9" rel="noreferrer noreferrer" target="_blank">https://trac.osgeo.org/geos/wiki/RFC9</a><br>
>>>><br>
>>>> Please don't. We'll get more projects like OSSIM that break with new<br>
>>>> GEOS releases, this causes significant delays before the new release can<br>
>>>> be included in distributions where lots of projects depend on GEOS<br>
>>>> (which all need to build with the new release).<br>
>><br>
>> Kind Regards,<br>
>><br>
>> Bas<br>
>><br>
>> --<br>
>>  GPG Key ID: 4096R/6750F10AE88D4AF1<br>
>> Fingerprint: 8182 DE41 7056 408D 6146  50D1 6750 F10A E88D 4AF1<br>
>> _______________________________________________<br>
>> geos-devel mailing list<br>
>> <a href="mailto:geos-devel@lists.osgeo.org" target="_blank" rel="noreferrer">geos-devel@lists.osgeo.org</a><br>
>> <a href="https://lists.osgeo.org/mailman/listinfo/geos-devel" rel="noreferrer noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/geos-devel</a><br>
> <br>
> <br>
> _______________________________________________<br>
> geos-devel mailing list<br>
> <a href="mailto:geos-devel@lists.osgeo.org" target="_blank" rel="noreferrer">geos-devel@lists.osgeo.org</a><br>
> <a href="https://lists.osgeo.org/mailman/listinfo/geos-devel" rel="noreferrer noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/geos-devel</a><br>
> <br>
<br>
<br>
-- <br>
 GPG Key ID: 4096R/6750F10AE88D4AF1<br>
Fingerprint: 8182 DE41 7056 408D 6146  50D1 6750 F10A E88D 4AF1<br>
_______________________________________________<br>
geos-devel mailing list<br>
<a href="mailto:geos-devel@lists.osgeo.org" target="_blank" rel="noreferrer">geos-devel@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/geos-devel" rel="noreferrer noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/geos-devel</a></blockquote></div></div></div>