[geos-devel] 3.10.0beta2
Greg Troxel
gdt at lexort.com
Sat Oct 2 05:04:57 PDT 2021
Greg Troxel <gdt at lexort.com> writes:
> http://download.osgeo.org/geos/geos-3.10.0beta2.tar.bz2
[This note replaces my briefer and less coherent note from last night.]
I converted my package build to cmake, and it worked better than I
expected, which is great. I did my build under pkgsrc on NetBSD 9
amd64.
The diff to the main packaging control file is not that interesting to
others, so I'll omit it; it's basically autoconf->cmake, dropping
libtool, and declaring a dependency on pthreads.
The diff of the set of installed files is significant, and I've appended
it. Mostly I would like someone familiar with the changes to just skim
it and nod "that's all expected". There are a lot of withdrawn .h files.
I try to point out anything that I see that one wouldn't expect from
reading NEWS, to sort those into real bugs and NEWS omissions. I do
think it's good to fix NEWS during this period.
* NEWS does not mention the withdrawal of autoconf
* NEWS does not mention that libtool is no longer used and that
libgeos.la is no longer installed.
* include/geos.h is no longer installed. I am guessing that is
intentional, but it is not mentioned in NEWS.
* There are several .h files no longer installed. I am guessing these
are intended API withdrawals, but NEWS does not say that there are
any withdrawals. An example is
include/geos/operation/overlay/FuzzyPointLocator.h
* The build finds and uses pthreads. Before, the build did not link
to pthread, and my 3.9 libraries are not linked with threads.
However, I had not declared that the package used threads, and
pkgsrc's mechanisms for hiding things that aren't declared are
likely more successful for autoconf than cmake. In the sources,
README and INSTALL do not mention threads. I can't figure out if
this matters and how, and what the right answer is.
Also, the tests are broken for me. Running make check fails
completely, and I find in the log:
/tmp/work/geography/geos/work/geos-3.10.0beta2/bin/test_geos_unit: Shared object "libgeos.so.3.10.0" not found
I am running tests from the build directory before I have built a
package and then replaced the existing 3.9 installation. So in
/usr/pkg/lib, where the library is expected to be, there is
libgeos.so.3.9.0 and no 3.10. Looking at the test program:
$ ldd /tmp/work/geography/geos/work/geos-3.10.0beta2/bin/test_geos_unit
/tmp/work/geography/geos/work/geos-3.10.0beta2/bin/test_geos_unit:
-lgeos_c.1 => /usr/pkg/lib/libgeos_c.so.1
-lgeos-3.9.1 => /usr/pkg/lib/libgeos-3.9.1.so
-lstdc++.9 => /usr/lib/libstdc++.so.9
-lm.0 => /usr/lib/libm.so.0
-lc.12 => /usr/lib/libc.so.12
-lgcc_s.1 => /usr/lib/libgcc_s.so.1
-lgeos.3.10.0 => not found
-lpthread.1 => /usr/lib/libpthread.so.1
I see it's also finding the wrong libgeos_c, so the root cause is very
likely not arranging a temporary library path for testing built but not
installed code. autoconf/libtool did this correctly, with a scheme to
link test programs (and anything else) against the built but not
installed library, and then to relink at installation. There are of
course multiple approaches, but "make check" needs to use the
programs/libs in the build tree, and ignore what's installed.
(I haven't yet installed the package and tried to build postgis against
it. I'd like to be able to run tests first.)
Perhaps "make check" is the wrong thing to do, but it's what everybody
expects and it lets people who have no idea about the geos test setup be
able to test and get a clean pass or need to look into it.
Greg
Index: PLIST
===================================================================
RCS file: /cvsroot/pkgsrc/geography/geos/PLIST,v
retrieving revision 1.17
diff -u -p -r1.17 PLIST
--- PLIST 3 Jan 2021 01:27:29 -0000 1.17
+++ PLIST 2 Oct 2021 11:32:55 -0000
@@ -1,10 +1,11 @@
@comment $NetBSD: PLIST,v 1.17 2021/01/03 01:27:29 gdt Exp $
bin/geos-config
-include/geos.h
+bin/geosop
include/geos/algorithm/Angle.h
include/geos/algorithm/Area.h
include/geos/algorithm/BoundaryNodeRule.h
include/geos/algorithm/CGAlgorithmsDD.h
+include/geos/algorithm/CGAlgorithmsDD.inl
include/geos/algorithm/CentralEndpointIntersector.h
include/geos/algorithm/Centroid.h
include/geos/algorithm/ConvexHull.h
@@ -17,15 +18,18 @@ include/geos/algorithm/InteriorPointPoin
include/geos/algorithm/Intersection.h
include/geos/algorithm/Length.h
include/geos/algorithm/LineIntersector.h
+include/geos/algorithm/LineIntersector.inl
include/geos/algorithm/MinimumBoundingCircle.h
include/geos/algorithm/MinimumDiameter.h
include/geos/algorithm/NotRepresentableException.h
include/geos/algorithm/Orientation.h
+include/geos/algorithm/PointInRing.h
include/geos/algorithm/PointLocation.h
include/geos/algorithm/PointLocator.h
include/geos/algorithm/RayCrossingCounter.h
include/geos/algorithm/RayCrossingCounterDD.h
include/geos/algorithm/RobustDeterminant.h
+include/geos/algorithm/SimplePointInRing.h
include/geos/algorithm/construct/LargestEmptyCircle.h
include/geos/algorithm/construct/MaximumInscribedCircle.h
include/geos/algorithm/distance/DiscreteFrechetDistance.h
@@ -107,8 +111,10 @@ include/geos/geom/util/GeometryCombiner.
include/geos/geom/util/GeometryEditor.h
include/geos/geom/util/GeometryEditorOperation.h
include/geos/geom/util/GeometryExtracter.h
+include/geos/geom/util/GeometryFixer.h
include/geos/geom/util/GeometryTransformer.h
include/geos/geom/util/LinearComponentExtracter.h
+include/geos/geom/util/NoOpGeometryOperation.h
include/geos/geom/util/PointExtracter.h
include/geos/geom/util/PolygonExtracter.h
include/geos/geom/util/ShortCircuitedGeometryVisitor.h
@@ -188,6 +194,10 @@ include/geos/index/strtree/STRtree.h
include/geos/index/strtree/SimpleSTRdistance.h
include/geos/index/strtree/SimpleSTRnode.h
include/geos/index/strtree/SimpleSTRtree.h
+include/geos/index/strtree/TemplateSTRNode.h
+include/geos/index/strtree/TemplateSTRNodePair.h
+include/geos/index/strtree/TemplateSTRtree.h
+include/geos/index/strtree/TemplateSTRtreeDistance.h
include/geos/index/sweepline/SweepLineEvent.h
include/geos/index/sweepline/SweepLineIndex.h
include/geos/index/sweepline/SweepLineInterval.h
@@ -197,6 +207,9 @@ include/geos/io/ByteOrderDataInStream.h
include/geos/io/ByteOrderDataInStream.inl
include/geos/io/ByteOrderValues.h
include/geos/io/CLocalizer.h
+include/geos/io/GeoJSON.h
+include/geos/io/GeoJSONReader.h
+include/geos/io/GeoJSONWriter.h
include/geos/io/ParseException.h
include/geos/io/StringTokenizer.h
include/geos/io/WKBConstants.h
@@ -231,8 +244,10 @@ include/geos/noding/MCIndexNoder.inl
include/geos/noding/MCIndexSegmentSetMutualIntersector.h
include/geos/noding/NodableSegmentString.h
include/geos/noding/NodedSegmentString.h
+include/geos/noding/NodedSegmentString.inl
include/geos/noding/Noder.h
include/geos/noding/NodingIntersectionFinder.h
+include/geos/noding/NodingIntersectionFinder.inl
include/geos/noding/NodingValidator.h
include/geos/noding/Octant.h
include/geos/noding/OrientedCoordinateArray.h
@@ -240,6 +255,7 @@ include/geos/noding/ScaledNoder.h
include/geos/noding/SegmentIntersectionDetector.h
include/geos/noding/SegmentIntersector.h
include/geos/noding/SegmentNode.h
+include/geos/noding/SegmentNode.inl
include/geos/noding/SegmentNodeList.h
include/geos/noding/SegmentPointComparator.h
include/geos/noding/SegmentSetMutualIntersector.h
@@ -259,7 +275,6 @@ include/geos/noding/snapround/MCIndexSna
include/geos/noding/snapround/SnapRoundingIntersectionAdder.h
include/geos/noding/snapround/SnapRoundingNoder.h
include/geos/operation/GeometryGraphOperation.h
-include/geos/operation/IsSimpleOp.h
include/geos/operation/buffer/BufferBuilder.h
include/geos/operation/buffer/BufferInputLineSimplifier.h
include/geos/operation/buffer/BufferOp.h
@@ -290,23 +305,24 @@ include/geos/operation/linemerge/LineSeq
include/geos/operation/overlay/EdgeSetNoder.h
include/geos/operation/overlay/ElevationMatrix.h
include/geos/operation/overlay/ElevationMatrixCell.h
-include/geos/operation/overlay/FuzzyPointLocator.h
include/geos/operation/overlay/LineBuilder.h
include/geos/operation/overlay/MaximalEdgeRing.h
include/geos/operation/overlay/MinimalEdgeRing.h
include/geos/operation/overlay/MinimalEdgeRing.inl
-include/geos/operation/overlay/OffsetPointGenerator.h
include/geos/operation/overlay/OverlayNodeFactory.h
include/geos/operation/overlay/OverlayOp.h
-include/geos/operation/overlay/OverlayResultValidator.h
include/geos/operation/overlay/PointBuilder.h
include/geos/operation/overlay/PolygonBuilder.h
include/geos/operation/overlay/snap/GeometrySnapper.h
include/geos/operation/overlay/snap/LineStringSnapper.h
-include/geos/operation/overlay/snap/SnapIfNeededOverlayOp.h
include/geos/operation/overlay/snap/SnapOverlayOp.h
+include/geos/operation/overlay/validate/FuzzyPointLocator.h
+include/geos/operation/overlay/validate/OffsetPointGenerator.h
+include/geos/operation/overlay/validate/OverlayResultValidator.h
include/geos/operation/overlayng/Edge.h
+include/geos/operation/overlayng/Edge.inl
include/geos/operation/overlayng/EdgeKey.h
+include/geos/operation/overlayng/EdgeKey.inl
include/geos/operation/overlayng/EdgeMerger.h
include/geos/operation/overlayng/EdgeNodingBuilder.h
include/geos/operation/overlayng/EdgeSourceInfo.h
@@ -318,9 +334,11 @@ include/geos/operation/overlayng/LineBui
include/geos/operation/overlayng/LineLimiter.h
include/geos/operation/overlayng/MaximalEdgeRing.h
include/geos/operation/overlayng/OverlayEdge.h
+include/geos/operation/overlayng/OverlayEdge.inl
include/geos/operation/overlayng/OverlayEdgeRing.h
include/geos/operation/overlayng/OverlayGraph.h
include/geos/operation/overlayng/OverlayLabel.h
+include/geos/operation/overlayng/OverlayLabel.inl
include/geos/operation/overlayng/OverlayLabeller.h
include/geos/operation/overlayng/OverlayMixedPoints.h
include/geos/operation/overlayng/OverlayNG.h
@@ -353,23 +371,26 @@ include/geos/operation/relate/RelateNode
include/geos/operation/relate/RelateOp.h
include/geos/operation/sharedpaths/SharedPathsOp.h
include/geos/operation/union/CascadedPolygonUnion.h
-include/geos/operation/union/CascadedUnion.h
include/geos/operation/union/CoverageUnion.h
-include/geos/operation/union/GeometryListHolder.h
include/geos/operation/union/OverlapUnion.h
include/geos/operation/union/PointGeometryUnion.h
include/geos/operation/union/UnaryUnionOp.h
include/geos/operation/union/UnionStrategy.h
include/geos/operation/valid/ConnectedInteriorTester.h
include/geos/operation/valid/ConsistentAreaTester.h
-include/geos/operation/valid/IndexedNestedShellTester.h
+include/geos/operation/valid/IndexedNestedHoleTester.h
+include/geos/operation/valid/IndexedNestedPolygonTester.h
+include/geos/operation/valid/IsSimpleOp.h
include/geos/operation/valid/IsValidOp.h
include/geos/operation/valid/MakeValid.h
-include/geos/operation/valid/QuadtreeNestedRingTester.h
+include/geos/operation/valid/PolygonIntersectionAnalyzer.h
+include/geos/operation/valid/PolygonNode.h
+include/geos/operation/valid/PolygonRing.h
+include/geos/operation/valid/PolygonRingSelfNode.h
+include/geos/operation/valid/PolygonRingTouch.h
+include/geos/operation/valid/PolygonTopologyAnalyzer.h
include/geos/operation/valid/RepeatedPointRemover.h
include/geos/operation/valid/RepeatedPointTester.h
-include/geos/operation/valid/SimpleNestedRingTester.h
-include/geos/operation/valid/SweeplineNestedRingTester.h
include/geos/operation/valid/TopologyValidationError.h
include/geos/planargraph/DirectedEdge.h
include/geos/planargraph/DirectedEdgeStar.h
@@ -386,7 +407,9 @@ include/geos/precision/CommonBitsRemover
include/geos/precision/EnhancedPrecisionOp.h
include/geos/precision/GeometryPrecisionReducer.h
include/geos/precision/MinimumClearance.h
+include/geos/precision/PointwisePrecisionReducerTransformer.h
include/geos/precision/PrecisionReducerCoordinateOperation.h
+include/geos/precision/PrecisionReducerTransformer.h
include/geos/precision/SimpleGeometryPrecisionReducer.h
include/geos/profiler.h
include/geos/shape/fractal/HilbertCode.h
@@ -403,6 +426,12 @@ include/geos/simplify/TopologyPreserving
include/geos/triangulate/DelaunayTriangulationBuilder.h
include/geos/triangulate/IncrementalDelaunayTriangulator.h
include/geos/triangulate/VoronoiDiagramBuilder.h
+include/geos/triangulate/polygon/ConstrainedDelaunayTriangulator.h
+include/geos/triangulate/polygon/PolygonEarClipper.h
+include/geos/triangulate/polygon/PolygonHoleJoiner.h
+include/geos/triangulate/polygon/PolygonTriangulator.h
+include/geos/triangulate/polygon/TriDelaunayImprover.h
+include/geos/triangulate/polygon/VertexSequencePackedRtree.h
include/geos/triangulate/quadedge/LastFoundQuadEdgeLocator.h
include/geos/triangulate/quadedge/LocateFailureException.h
include/geos/triangulate/quadedge/QuadEdge.h
@@ -412,6 +441,10 @@ include/geos/triangulate/quadedge/QuadEd
include/geos/triangulate/quadedge/TrianglePredicate.h
include/geos/triangulate/quadedge/TriangleVisitor.h
include/geos/triangulate/quadedge/Vertex.h
+include/geos/triangulate/tri/Tri.h
+include/geos/triangulate/tri/TriEdge.h
+include/geos/triangulate/tri/TriList.h
+include/geos/triangulate/tri/TriangulationBuilder.h
include/geos/unload.h
include/geos/util.h
include/geos/util/Assert.h
@@ -429,6 +462,13 @@ include/geos/util/UnsupportedOperationEx
include/geos/util/math.h
include/geos/version.h
include/geos_c.h
-lib/libgeos.la
-lib/libgeos_c.la
+lib/cmake/GEOS/geos-config-version.cmake
+lib/cmake/GEOS/geos-config.cmake
+lib/cmake/GEOS/geos-targets-release.cmake
+lib/cmake/GEOS/geos-targets.cmake
+lib/libgeos.so
+lib/libgeos.so.3.10.0
+lib/libgeos_c.so
+lib/libgeos_c.so.1
+lib/libgeos_c.so.1.16.0
lib/pkgconfig/geos.pc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 194 bytes
Desc: not available
URL: <http://lists.osgeo.org/pipermail/geos-devel/attachments/20211002/4d5709b5/attachment.sig>
More information about the geos-devel
mailing list