I have no clear memory of whether I ever tried to build geos or run tests on RPI3 before. I have a very very vague memory of having trouble and never having chased it down. So I am definitely not asking that the release be held for this!
> https://download.osgeo.org/geos/geos-3.12.0beta2.tar.bz2 I am using gcc version 7.5.0 (nb4 20200810) On NetBSD 9 amd64, after installing it, tests all pass. [snip] Start 466: xml-validate-TestRelatePP 466/466 Test #466: xml-validate-TestRelatePP .................................. Passed 0.01 sec 100% tests passed, 0 tests failed out of 466 Total Test time (real) = 20.89 sec On NetBSD 9 earmv7hf-el (RPI3 hardware, specifically), after installing it, most but not all tests pass. I ran it twice with the same results 96% tests passed, 18 tests failed out of 465 Total Test time (real) = 111.91 sec The following tests did not run: 377 - xml-issue-issue-geos-837 (Disabled) The following tests FAILED: 25 - unit-algorithm-construct-MaximumInscribedCircle (Subprocess aborted) 32 - unit-capi-GEOSBuffer (Subprocess aborted) 35 - unit-capi-GEOSClipByRect (Subprocess aborted) 42 - unit-capi-GEOSCoordSeq (Subprocess aborted) 62 - unit-capi-GEOSGeomGeoJSONRead (Subprocess aborted) 94 - unit-capi-GEOSInterrupt (Subprocess aborted) 104 - unit-capi-GEOSMaximumInscribedCircle (Subprocess aborted) 140 - unit-capi-GEOSUnaryUnion (Subprocess aborted) 143 - unit-capi-GEOSUnion (Subprocess aborted) 168 - unit-geom-Dimension (Subprocess aborted) 212 - unit-io-GeoJSONReader (Subprocess aborted) 233 - unit-operation-buffer-BufferOp (Subprocess aborted) 240 - unit-operation-distance-IndexedFacetDistance (Subprocess aborted) 300 - xml-general-TestBuffer (Subprocess aborted) 305 - xml-general-TestDensify (Subprocess aborted) 361 - xml-issue-issue-geos-366 (Subprocess aborted) 373 - xml-issue-issue-geos-605 (Subprocess aborted) 399 - xml-misc-safe-TestBufferJagged (Subprocess aborted) Errors while running CTest Output from these tests are in: /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/Testing/Temporary/LastTest.log Use "--rerun-failed --output-on-failure" to re-run the failed cases verbosely. gmake[4]: *** [Makefile:91: test] Error 8 gmake[4]: Leaving directory '/d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2' *** Error code 2 Looking at the logs (at end), overall this smells like either a systematic issue where the floating point on my system is broken, or there is some slight floating point difference from x86, and geos tests are very sensitive to exact FP results. But that's just guessing. I'm building for NetBSD 9 i386 and will also try macOS x86_64. FWIW, I ran paranoia and got: No failures, defects nor flaws have been discovered. Rounding appears to conform to the proposed IEEE standard P754. The arithmetic diagnosed appears to be Excellent! I am curious if others have been running tests on CPUs other than x86, and on those systems, if other than GNU/Linux. Here's the output of "ctest --rerun-failed --output-on-failure": ---------------------------------------- Test project /usr/pkgsrc/geography/geos/work/geos-3.12.0beta2 Start 25: unit-algorithm-construct-MaximumInscribedCircle 1/18 Test #25: unit-algorithm-construct-MaximumInscribedCircle ...Subprocess aborted***Exception: 0.40 sec =============================== GEOS Unit Test Suite =============================== geos::algorithm::construct::MaximumInscribedCircle: .......terminate called after throwing an instance of 'geos::util::GEOSException' what(): Non-finite envelope encountered. Start 32: unit-capi-GEOSBuffer 2/18 Test #32: unit-capi-GEOSBuffer ..............................Subprocess aborted***Exception: 0.09 sec =============================== GEOS Unit Test Suite =============================== capi::GEOSBuffer: .....................NOTICE: IllegalArgumentException: Invalid buffer endCap style NOTICE: IllegalArgumentException: Invalid buffer join style .terminate called after throwing an instance of 'geos::util::GEOSException' what(): Shell empty after removing invalid points Start 35: unit-capi-GEOSClipByRect 3/18 Test #35: unit-capi-GEOSClipByRect ..........................Subprocess aborted***Exception: 0.09 sec =============================== GEOS Unit Test Suite =============================== capi::GEOSClipByRect: .............terminate called after throwing an instance of 'geos::util::IllegalArgumentException' what(): IllegalArgumentException: Invalid number of points in LinearRing found 3 - must be 0 or >= 4 Start 42: unit-capi-GEOSCoordSeq 4/18 Test #42: unit-capi-GEOSCoordSeq ............................Subprocess aborted***Exception: 0.08 sec =============================== GEOS Unit Test Suite =============================== capi::GEOSCoordSeq: ..terminate called after throwing an instance of 'geos::util::IllegalArgumentException' what(): IllegalArgumentException: Unknown ordinate index 37 Start 62: unit-capi-GEOSGeomGeoJSONRead 5/18 Test #62: unit-capi-GEOSGeomGeoJSONRead .....................Subprocess aborted***Exception: 0.09 sec =============================== GEOS Unit Test Suite =============================== capi::GEOSGeomGeoJSONRead: ..terminate called after throwing an instance of 'geos_nlohmann::detail::parse_error' what(): [json.exception.parse_error.101] parse error at line 1, column 1: syntax error while parsing value - invalid literal; last read: '<' Start 94: unit-capi-GEOSInterrupt 6/18 Test #94: unit-capi-GEOSInterrupt ...........................Subprocess aborted***Exception: 0.09 sec =============================== GEOS Unit Test Suite =============================== capi::GEOSInterrupt: ...terminate called after throwing an instance of 'geos::util::InterruptedException' what(): InterruptedException: Interrupted! Start 104: unit-capi-GEOSMaximumInscribedCircle 7/18 Test #104: unit-capi-GEOSMaximumInscribedCircle ..............Subprocess aborted***Exception: 0.09 sec =============================== GEOS Unit Test Suite =============================== capi::GEOSMaximumInscribedCircle: ..terminate called after throwing an instance of 'geos::util::GEOSException' what(): Non-finite envelope encountered. Start 140: unit-capi-GEOSUnaryUnion 8/18 Test #140: unit-capi-GEOSUnaryUnion ..........................Subprocess aborted***Exception: 0.09 sec =============================== GEOS Unit Test Suite =============================== capi::GEOSUnaryUnion: ........terminate called after throwing an instance of 'geos::util::GEOSException' what(): Edge direction cannot be determined because endpoints are equal Start 143: unit-capi-GEOSUnion 9/18 Test #143: unit-capi-GEOSUnion ...............................Subprocess aborted***Exception: 0.08 sec =============================== GEOS Unit Test Suite =============================== capi::GEOSUnion: .terminate called after throwing an instance of 'geos::util::GEOSException' what(): Edge direction cannot be determined because endpoints are equal Start 168: unit-geom-Dimension 10/18 Test #168: unit-geom-Dimension ...............................Subprocess aborted***Exception: 0.08 sec =============================== GEOS Unit Test Suite =============================== geos::geom::Dimension: ..terminate called after throwing an instance of 'geos::util::IllegalArgumentException' what(): IllegalArgumentException: Unknown dimension value: 101 Start 212: unit-io-GeoJSONReader 11/18 Test #212: unit-io-GeoJSONReader .............................Subprocess aborted***Exception: 0.10 sec =============================== GEOS Unit Test Suite =============================== geos::io::GeoJSONReader: ......................terminate called after throwing an instance of 'geos_nlohmann::detail::parse_error' what(): [json.exception.parse_error.101] parse error at line 1, column 1: syntax error while parsing value - invalid literal; last read: '<' Start 233: unit-operation-buffer-BufferOp 12/18 Test #233: unit-operation-buffer-BufferOp ....................Subprocess aborted***Exception: 0.15 sec =============================== GEOS Unit Test Suite =============================== geos::operation::buffer::BufferOp: ..........terminate called after throwing an instance of 'geos::util::TopologyException' what(): TopologyException: assigned depths do not match at -22625.315179557714 130450.31702346609 Start 240: unit-operation-distance-IndexedFacetDistance 13/18 Test #240: unit-operation-distance-IndexedFacetDistance ......Subprocess aborted***Exception: 3.01 sec =============================== GEOS Unit Test Suite =============================== geos::operation::distance::IndexedFacetDistance: ..........terminate called after throwing an instance of 'geos::util::GEOSException' what(): Cannot calculate IndexedFacetDistance on empty geometries. Start 300: xml-general-TestBuffer 14/18 Test #300: xml-general-TestBuffer ............................Subprocess aborted***Exception: 0.12 sec /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case1: test1: buffer(A, -1.0): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case1: test2: buffer(A, 0.0): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case1: test3: buffer(A, 10.0): ok. (3 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case2: test1: buffer(A, -1.0): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case2: test2: buffer(A, 0.0): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case2: test3: buffer(A, 10.0): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case3: test1: buffer(A, -100.0): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case3: test2: buffer(A, -10.0): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case3: test3: buffer(A, 0.0): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case3: test4: buffer(A, 10.0): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case3: test5: buffer(A, 20.0): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case3: test6: buffer(A, 100.0): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case4: test1: buffer(A, -100.0): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case4: test2: buffer(A, -10.0): ok. (1 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case4: test3: buffer(A, 0.0): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case4: test4: buffer(A, 10.0): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case4: test5: buffer(A, 20.0): ok. (1 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestBuffer.xml: case4: test6: buffer(A, 100.0): ok. (0 ms) terminate called after throwing an instance of 'geos::util::TopologyException' what(): TopologyException: assigned depths do not match at 1335583.1400354072 631780.66133557539 Start 305: xml-general-TestDensify 15/18 Test #305: xml-general-TestDensify ...........................Subprocess aborted***Exception: 0.05 sec /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case1: test1: densify(A, 10.0): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case2: test1: densify(A, 10.0): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case3: test1: densify(A, 10.0): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case4: test1: densify(A, 10.0): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case5: test1: densify(A, 10.0): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case6: test1: densify(A, 10.0): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case7: test1: densify(A, 10.0): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case8: test1: densify(A, 2.999999): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case9: test1: densify(A, 6): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case10: test1: densify(A, 6): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case11: test1: densify(A, 6): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case12: test1: densify(A, 3): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case13: test1: densify(A, 2.999999): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case14: test1: densify(A, 10.0): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case15: test1: densify(A, 5.0): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case16: test1: densify(A, 2.999999): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case17: test1: densify(A, 10.0): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case18: test1: densify(A, 5.0): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case19: test1: densify(A, 10.0): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case20: test1: densify(A, 5.0): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case21: test1: densify(A, 2.999999): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case22: test1: densify(A, 10.0): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case23: test1: densify(A, 5.0): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case24: test1: densify(A, 2.999999): ok. (0 ms) /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/general/TestDensify.xml: case25: test1: densify(A, 0): ok. (0 ms) terminate called after throwing an instance of 'geos::util::GEOSException' what(): Tolerance is too small compared to geometry length Start 361: xml-issue-issue-geos-366 16/18 Test #361: xml-issue-issue-geos-366 ..........................Subprocess aborted***Exception: 0.06 sec terminate called after throwing an instance of 'geos::util::TopologyException' what(): TopologyException: unable to find edge to compute depths at at -200016.32214116989 249553.4006244911 Start 373: xml-issue-issue-geos-605 17/18 Test #373: xml-issue-issue-geos-605 ..........................Subprocess aborted***Exception: 0.06 sec terminate called after throwing an instance of 'geos::util::TopologyException' what(): TopologyException: assigned depths do not match at 374252.37027537922 6136822.6948443819 Start 399: xml-misc-safe-TestBufferJagged 18/18 Test #399: xml-misc-safe-TestBufferJagged ....................Subprocess aborted***Exception: 2.04 sec /d0/n0/pkgsrc/geography/geos/work/geos-3.12.0beta2/tests/xmltester/tests/misc/safe-TestBufferJagged.xml: case1: test1: buffer(a, 0.35): ok. (100 ms) terminate called after throwing an instance of 'geos::util::TopologyException' what(): TopologyException: assigned depths do not match at 99725.701985377294 -2239208.6167892241 0% tests passed, 18 tests failed out of 18 Total Test time (real) = 6.94 sec The following tests FAILED: 25 - unit-algorithm-construct-MaximumInscribedCircle (Subprocess aborted) 32 - unit-capi-GEOSBuffer (Subprocess aborted) 35 - unit-capi-GEOSClipByRect (Subprocess aborted) 42 - unit-capi-GEOSCoordSeq (Subprocess aborted) 62 - unit-capi-GEOSGeomGeoJSONRead (Subprocess aborted) 94 - unit-capi-GEOSInterrupt (Subprocess aborted) 104 - unit-capi-GEOSMaximumInscribedCircle (Subprocess aborted) 140 - unit-capi-GEOSUnaryUnion (Subprocess aborted) 143 - unit-capi-GEOSUnion (Subprocess aborted) 168 - unit-geom-Dimension (Subprocess aborted) 212 - unit-io-GeoJSONReader (Subprocess aborted) 233 - unit-operation-buffer-BufferOp (Subprocess aborted) 240 - unit-operation-distance-IndexedFacetDistance (Subprocess aborted) 300 - xml-general-TestBuffer (Subprocess aborted) 305 - xml-general-TestDensify (Subprocess aborted) 361 - xml-issue-issue-geos-366 (Subprocess aborted) 373 - xml-issue-issue-geos-605 (Subprocess aborted) 399 - xml-misc-safe-TestBufferJagged (Subprocess aborted) Errors while running CTest _______________________________________________ geos-devel mailing list geos-devel@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/geos-devel