Greg Troxel <g...@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
signature.asc
Description: PGP signature
_______________________________________________ geos-devel mailing list geos-devel@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/geos-devel