Re: [geos-devel] GEOS 3.8.0 RC3
rc3 seems to be in good order from the pkgsrc viewpoint. * a digression about 3.7.3 I updated pkgsrc belatedly from 3.7.1 to 3.7.3 and tests passed on netbsd-8/amd64. There is a C++ ABI break from 3.7.1 to 3.7.3, which was unexpected. Due to libtool adding in dependency libs from the .la file, gdal links to geos-3.7.3.so, even though it ought to just link to geos_c. This is arguably a libtool bug (and perhaps only on pkgsrc, but I think bigger), so this ABI break is notabable, even if there are really zero direct users, and even if the 3.7.3 library has the same ABI as the 3.7.1 library. While I expect ABI breaks across major versions, I don't expect them on micro releases and this surprised me. * report on 3.8.0rc3 With 3.8.0rc3, on netbsd-8/amd64, it built and passed geos's own test suite. a few very minor things, probably not worth the risk of changing other than perhaps adjusting NEWS: There are header files removed from the set of installed files. I don't see these presumed API withdrawals in NEWS. (I am not saying this is wrong, just that I don't understand.) NEWS doesn't mention if there is an ABI break of the C++ API. In pkgsrc, there are no known users of this now. But, libtool adds dependency_libs to the link lines of depending packages, so even things that don't use the C++ API end up linked against the lib (arguably a bug, unknown extent of where this happens), and have to be recompiled, so an API break is noteworthy. I have a stray patch to geos-config.in, to add in @LDFLAGS@ to the --ldflags command. I am really unclear if anyone ever sent it upstream from pkgsrc. Also, there are --libs arguments that also include -Llibdir, which seems wrong. Best to talk about this post release I think -- not new or urgent. I have a stray patch to capi/geos_ts_c.cpp, which uses const char * instead of str in NOTICE_MESSAGE and ERROR_MESSAGE. I am unclear on the origin of this patch, but it claims that non-POD types in variadic functions are UB. Also seems best to defer to post release -- also not new or urgent. Removed header files: include/geos/algorithm/CGAlgorithms.h include/geos/algorithm/CentroidArea.h include/geos/algorithm/CentroidLine.h include/geos/algorithm/CentroidPoint.h include/geos/algorithm/MCPointInRing.h include/geos/algorithm/PointInRing.h include/geos/algorithm/SIRtreePointInRing.h include/geos/algorithm/SimplePointInRing.h include/geos/geom/Lineal.h include/geos/geom/Polygonal.h include/geos/geom/Puntal.h include/geos/noding/SingleInteriorIntersectionFinder.h include/geos/platform.h include/geos/timeval.h $NetBSD: patch-ae,v 1.6 2018/09/11 16:13:29 gdt Exp $ TODO: explain what's in LDFLAGS. TODO: explain why --libs has -L in the first place (vs --ldflags). TODO: report upstream. --- tools/geos-config.in.orig 2018-08-19 10:49:14.0 + +++ tools/geos-config.in @@ -58,7 +58,7 @@ case $1 in echo -L${libdir} -lgeos -lm ;; --ldflags) - echo -L${libdir} + echo -L${libdir} @LDFLAGS@ ;; --includes) echo ${prefix}/include $NetBSD: patch-capi_geos__ts__c.cpp,v 1.2 2018/09/11 16:13:29 gdt Exp $ \todo Document this patch. It appears to be that passing non-POD types to variadic functions is UB. \todo File a bug upstream, if appropriate. --- capi/geos_ts_c.cpp.orig 2015-09-08 16:31:02.0 + +++ capi/geos_ts_c.cpp @@ -214,7 +214,7 @@ typedef struct GEOSContextHandle_HS } void -NOTICE_MESSAGE(string fmt, ...) +NOTICE_MESSAGE(const char *fmt, ...) { if (NULL == noticeMessageOld && NULL == noticeMessageNew) { return; @@ -222,7 +222,7 @@ typedef struct GEOSContextHandle_HS va_list args; va_start(args, fmt); - int result = vsnprintf(msgBuffer, sizeof(msgBuffer) - 1, fmt.c_str(), args); + int result = vsnprintf(msgBuffer, sizeof(msgBuffer) - 1, fmt, args); va_end(args); if (result > 0) { @@ -235,7 +235,7 @@ typedef struct GEOSContextHandle_HS } void -ERROR_MESSAGE(string fmt, ...) +ERROR_MESSAGE(const char *fmt, ...) { if (NULL == errorMessageOld && NULL == errorMessageNew) { return; @@ -243,7 +243,7 @@ typedef struct GEOSContextHandle_HS va_list args; va_start(args, fmt); - int result = vsnprintf(msgBuffer, sizeof(msgBuffer) - 1, fmt.c_str(), args); + int result = vsnprintf(msgBuffer, sizeof(msgBuffer) - 1, fmt, args); va_end(args); if (result > 0) { ___ geos-devel mailing list geos-devel@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/geos-devel
Re: [geos-devel] GEOS 3.8.0 RC3
This all seems like good fodder for 3.8.1 P > On Oct 8, 2019, at 11:15 AM, rmrodrig...@carto.com wrote: > > Hi, > > I've run scan-build against the project and it shows ~30 issues, > some minor and some important. > > I've created a PR addressing them (https://github.com/libgeos/geos/pull/238) > but there is still 12 more in case someone wants to have a look before > me (I'll try > to finish with them tomorrow). > > On Tue, Oct 8, 2019 at 7:42 PM Paul Ramsey wrote: >> >> Hi all GEOS people, >> >> *Especially packagers...* (This package fixes one last regression >> noticed in QGIS.) >> >> 3.8.0 will be released in 48 hours if no blockers are raised. >> >> In support of that we would like >> your help testing out the final project. You’ll find that there are >> lots of performance improvements, we hope, and improved reliability in >> common operations. >> >> http://download.osgeo.org/geos/geos-3.8.0rc2.tar.bz2 >> >> Please report any issues you find in building or running tests on the >> GEOS ticket tracker https://trac.osgeo.org/geos/ or to this list. >> >> - New things: >> - CAPI: GEOSBuildArea (#952, Even Rouault) >> - CAPI: GEOSMakeValid (#952, Even Rouault) >> - CAPI: GEOSPolygonize_valid (#727, Dan Baston) >> - CAPI: GEOSCoverageUnion (Dan Baston) >> - CAPI: GEOSCoordSeq_setXY, GEOSCoordSeq_setXYZ, >> GEOSCoordSeq_getXY, GEOSCoordSeq_getXYZ (Dan Baston) >> - CAPI: GEOSMinimumBoundingCircle (#735) >> - CAPI: GEOSGeom_createPointFromXY (Dan Baston) >> >> - Improvements: >> - Improve overall performance by reducing of heap allocations (Dan Baston) >> - Improve performance and robustness of GEOSPointOnSurface (Martin Davis) >> - Improve performance of GEOSPolygonize for cases with many potential >>holes (#748, Dan Baston) >> - Support extended precision calculations (ttmath) and port JTS >>improvements related to extended precision (Paul Ramsey, Mateusz Loskot) >> - Improve performance of GEOSPolygonize for cases with many or complex >>shells (Dan Baston, Martin Davis) >> - Improve performance of Delaunay triangulations / Voronoi Diagrams >>(Dan Baston) >> - Improve performance of prepared geometry operations (Dan Baston) >> - Improve robustness of Delaunay triangulations (Paul Ramsey, Martin Davis) >> - Improve performance of unary union for lines (Dan Baston) >> - Improve general predicate, overlay, and buffer performance (Dan >> Baston, Paul Ramsey) >> - Improve cascaded union performance (Paul Ramsey, Martin Davis) >> - Allocate default GeometryFactory singleton on the stack (Sandro Mani) >> - Harmonize XML tests with JTS and harmonize cmake/autoconf >>test running (Paul Ramsey) >> - CMake modernization (Mateusz Loskot, Paul Ramsey, Dan Baston) >> - Return unique_ptr from most methods that produce a new geometry (Dan >> Baston) >> >> - Changes: >> - Constructive geometry functions in CAPI now preserve SRID >>of input arguments in output (#896) >> ___ >> geos-devel mailing list >> geos-devel@lists.osgeo.org >> https://lists.osgeo.org/mailman/listinfo/geos-devel > > > > -- > Raúl Marín Rodríguez > carto.com > ___ > geos-devel mailing list > geos-devel@lists.osgeo.org > https://lists.osgeo.org/mailman/listinfo/geos-devel ___ geos-devel mailing list geos-devel@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/geos-devel
Re: [geos-devel] GEOS 3.8.0 RC3
Shouldn't this be linking to: http://download.osgeo.org/geos/geos-3.8.0rc3.tar.bz2 -Original Message- From: geos-devel [mailto:geos-devel-boun...@lists.osgeo.org] On Behalf Of Paul Ramsey Sent: Tuesday, October 8, 2019 1:42 PM To: GEOS Development List Subject: [geos-devel] GEOS 3.8.0 RC3 Hi all GEOS people, *Especially packagers...* (This package fixes one last regression noticed in QGIS.) 3.8.0 will be released in 48 hours if no blockers are raised. In support of that we would like your help testing out the final project. You ll find that there are lots of performance improvements, we hope, and improved reliability in common operations. http://download.osgeo.org/geos/geos-3.8.0rc2.tar.bz2 Please report any issues you find in building or running tests on the GEOS ticket tracker https://trac.osgeo.org/geos/ or to this list. - New things: - CAPI: GEOSBuildArea (#952, Even Rouault) - CAPI: GEOSMakeValid (#952, Even Rouault) - CAPI: GEOSPolygonize_valid (#727, Dan Baston) - CAPI: GEOSCoverageUnion (Dan Baston) - CAPI: GEOSCoordSeq_setXY, GEOSCoordSeq_setXYZ, GEOSCoordSeq_getXY, GEOSCoordSeq_getXYZ (Dan Baston) - CAPI: GEOSMinimumBoundingCircle (#735) - CAPI: GEOSGeom_createPointFromXY (Dan Baston) - Improvements: - Improve overall performance by reducing of heap allocations (Dan Baston) - Improve performance and robustness of GEOSPointOnSurface (Martin Davis) - Improve performance of GEOSPolygonize for cases with many potential holes (#748, Dan Baston) - Support extended precision calculations (ttmath) and port JTS improvements related to extended precision (Paul Ramsey, Mateusz Loskot) - Improve performance of GEOSPolygonize for cases with many or complex shells (Dan Baston, Martin Davis) - Improve performance of Delaunay triangulations / Voronoi Diagrams (Dan Baston) - Improve performance of prepared geometry operations (Dan Baston) - Improve robustness of Delaunay triangulations (Paul Ramsey, Martin Davis) - Improve performance of unary union for lines (Dan Baston) - Improve general predicate, overlay, and buffer performance (Dan Baston, Paul Ramsey) - Improve cascaded union performance (Paul Ramsey, Martin Davis) - Allocate default GeometryFactory singleton on the stack (Sandro Mani) - Harmonize XML tests with JTS and harmonize cmake/autoconf test running (Paul Ramsey) - CMake modernization (Mateusz Loskot, Paul Ramsey, Dan Baston) - Return unique_ptr from most methods that produce a new geometry (Dan Baston) - Changes: - Constructive geometry functions in CAPI now preserve SRID of input arguments in output (#896) ___ geos-devel mailing list geos-devel@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/geos-devel ___ geos-devel mailing list geos-devel@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/geos-devel
Re: [geos-devel] GEOS 3.8.0 RC3
Hi, I've run scan-build against the project and it shows ~30 issues, some minor and some important. I've created a PR addressing them (https://github.com/libgeos/geos/pull/238) but there is still 12 more in case someone wants to have a look before me (I'll try to finish with them tomorrow). On Tue, Oct 8, 2019 at 7:42 PM Paul Ramsey wrote: > > Hi all GEOS people, > > *Especially packagers...* (This package fixes one last regression > noticed in QGIS.) > > 3.8.0 will be released in 48 hours if no blockers are raised. > > In support of that we would like > your help testing out the final project. You’ll find that there are > lots of performance improvements, we hope, and improved reliability in > common operations. > > http://download.osgeo.org/geos/geos-3.8.0rc2.tar.bz2 > > Please report any issues you find in building or running tests on the > GEOS ticket tracker https://trac.osgeo.org/geos/ or to this list. > > - New things: > - CAPI: GEOSBuildArea (#952, Even Rouault) > - CAPI: GEOSMakeValid (#952, Even Rouault) > - CAPI: GEOSPolygonize_valid (#727, Dan Baston) > - CAPI: GEOSCoverageUnion (Dan Baston) > - CAPI: GEOSCoordSeq_setXY, GEOSCoordSeq_setXYZ, > GEOSCoordSeq_getXY, GEOSCoordSeq_getXYZ (Dan Baston) > - CAPI: GEOSMinimumBoundingCircle (#735) > - CAPI: GEOSGeom_createPointFromXY (Dan Baston) > > - Improvements: > - Improve overall performance by reducing of heap allocations (Dan Baston) > - Improve performance and robustness of GEOSPointOnSurface (Martin Davis) > - Improve performance of GEOSPolygonize for cases with many potential > holes (#748, Dan Baston) > - Support extended precision calculations (ttmath) and port JTS > improvements related to extended precision (Paul Ramsey, Mateusz Loskot) > - Improve performance of GEOSPolygonize for cases with many or complex > shells (Dan Baston, Martin Davis) > - Improve performance of Delaunay triangulations / Voronoi Diagrams > (Dan Baston) > - Improve performance of prepared geometry operations (Dan Baston) > - Improve robustness of Delaunay triangulations (Paul Ramsey, Martin Davis) > - Improve performance of unary union for lines (Dan Baston) > - Improve general predicate, overlay, and buffer performance (Dan > Baston, Paul Ramsey) > - Improve cascaded union performance (Paul Ramsey, Martin Davis) > - Allocate default GeometryFactory singleton on the stack (Sandro Mani) > - Harmonize XML tests with JTS and harmonize cmake/autoconf > test running (Paul Ramsey) > - CMake modernization (Mateusz Loskot, Paul Ramsey, Dan Baston) > - Return unique_ptr from most methods that produce a new geometry (Dan > Baston) > > - Changes: > - Constructive geometry functions in CAPI now preserve SRID > of input arguments in output (#896) > ___ > geos-devel mailing list > geos-devel@lists.osgeo.org > https://lists.osgeo.org/mailman/listinfo/geos-devel -- Raúl Marín Rodríguez carto.com ___ geos-devel mailing list geos-devel@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/geos-devel