Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

static build failure on linux with gcc 13 #127

Open
jayvdb opened this issue Apr 7, 2023 · 9 comments
Open

static build failure on linux with gcc 13 #127

jayvdb opened this issue Apr 7, 2023 · 9 comments

Comments

@jayvdb
Copy link
Contributor

jayvdb commented Apr 7, 2023

error: failed to run custom build command for `geos-src v0.2.1 (/home/jayvdb/rust/geos/sys/geos-src)`

Caused by:
  process didn't exit successfully: `/home/jayvdb/rust/geos/target/debug/build/geos-src-2ae16c31e7b1411f/build-script-build` (exit status: 101)
  --- stdout
  cargo:rerun-if-changed=build.rs
  CMAKE_TOOLCHAIN_FILE_x86_64-unknown-linux-gnu = None
  CMAKE_TOOLCHAIN_FILE_x86_64_unknown_linux_gnu = None
  HOST_CMAKE_TOOLCHAIN_FILE = None
  CMAKE_TOOLCHAIN_FILE = None
  CMAKE_GENERATOR_x86_64-unknown-linux-gnu = None
  CMAKE_GENERATOR_x86_64_unknown_linux_gnu = None
  HOST_CMAKE_GENERATOR = None
  CMAKE_GENERATOR = None
  CMAKE_PREFIX_PATH_x86_64-unknown-linux-gnu = None
  CMAKE_PREFIX_PATH_x86_64_unknown_linux_gnu = None
  HOST_CMAKE_PREFIX_PATH = None
  CMAKE_PREFIX_PATH = None
  CMAKE_x86_64-unknown-linux-gnu = None
  CMAKE_x86_64_unknown_linux_gnu = None
  HOST_CMAKE = None
  CMAKE = None
  running: cd "/home/jayvdb/rust/geos/target/debug/build/geos-src-674cec5a58a81688/out/build" && CMAKE_PREFIX_PATH="" "cmake" "/home/jayvdb/rust/geos/sys/geos-src/source" "-DBUILD_BENCHMARKS=OFF" "-DBUILD_TESTING=OFF" "-DGEOS_ENABLE_TESTS=OFF" "-DBUILD_DOCUMENTATION=OFF" "-DCMAKE_INSTALL_LIBDIR=lib" "-DBUILD_SHARED_LIBS=OFF" "-DGEOS_BUILD_STATIC=ON" "-DGEOS_BUILD_SHARED=OFF" "-DCMAKE_INSTALL_PREFIX=/home/jayvdb/rust/geos/target/debug/build/geos-src-674cec5a58a81688/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_C_COMPILER=/usr/bin/cc" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_CXX_COMPILER=/usr/bin/c++" "-DCMAKE_ASM_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_ASM_COMPILER=/usr/bin/cc" "-DCMAKE_BUILD_TYPE=Release"
  -- The C compiler identification is GNU 13.0.1
  -- The CXX compiler identification is GNU 13.0.1
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /usr/bin/cc - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: /usr/bin/c++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- GEOS: Version 3.11.0
  -- GEOS: C API Version 1.17.0
  -- GEOS: JTS port 1.18.0
  -- GEOS: Build type: Release
  -- GEOS: Run-time output: /home/jayvdb/rust/geos/target/debug/build/geos-src-674cec5a58a81688/out/build/bin
  -- GEOS: Archives output: /home/jayvdb/rust/geos/target/debug/build/geos-src-674cec5a58a81688/out/build/lib
  -- GEOS: Require C++11
  -- GEOS: Developer mode ENABLED
  -- Looking for pow in m
  -- Looking for pow in m - found
  -- GEOS: Build geosop ON
  -- GEOS: Build astyle OFF
  -- GEOS: Configured 'dist' target
  -- GEOS: Configured 'distcheck' target
  -- Configuring done (0.3s)
  -- Generating done (0.0s)
  -- Build files have been written to: /home/jayvdb/rust/geos/target/debug/build/geos-src-674cec5a58a81688/out/build
  running: cd "/home/jayvdb/rust/geos/target/debug/build/geos-src-674cec5a58a81688/out/build" && MAKEFLAGS="-j --jobserver-fds=18,19 --jobserver-auth=18,19" "cmake" "--build" "." "--target" "install" "--config" "Release"
  [  1%] Building C object src/deps/CMakeFiles/ryu.dir/ryu/d2s.c.o
  [  1%] Built target ryu
  [  1%] Building CXX object CMakeFiles/geos.dir/src/algorithm/BoundaryNodeRule.cpp.o
  [  1%] Building CXX object CMakeFiles/geos.dir/src/algorithm/Angle.cpp.o
  [  1%] Building CXX object CMakeFiles/geos.dir/src/algorithm/Area.cpp.o
  [  2%] Building CXX object CMakeFiles/geos.dir/src/algorithm/CGAlgorithmsDD.cpp.o
  [  2%] Building CXX object CMakeFiles/geos.dir/src/algorithm/Centroid.cpp.o
  [  2%] Building CXX object CMakeFiles/geos.dir/src/algorithm/ConvexHull.cpp.o
  [  2%] Building CXX object CMakeFiles/geos.dir/src/algorithm/Distance.cpp.o
  [  3%] Building CXX object CMakeFiles/geos.dir/src/algorithm/InteriorPointArea.cpp.o
  [  3%] Building CXX object CMakeFiles/geos.dir/src/algorithm/HCoordinate.cpp.o
  [  4%] Building CXX object CMakeFiles/geos.dir/src/algorithm/Intersection.cpp.o
  [  4%] Building CXX object CMakeFiles/geos.dir/src/algorithm/Length.cpp.o
  [  4%] Building CXX object CMakeFiles/geos.dir/src/algorithm/InteriorPointLine.cpp.o
  [  4%] Building CXX object CMakeFiles/geos.dir/src/algorithm/InteriorPointPoint.cpp.o
  [  4%] Building CXX object CMakeFiles/geos.dir/src/algorithm/MinimumBoundingCircle.cpp.o
  [  4%] Building CXX object CMakeFiles/geos.dir/src/algorithm/LineIntersector.cpp.o
  [  4%] Building CXX object CMakeFiles/geos.dir/src/algorithm/NotRepresentableException.cpp.o
  [  5%] Building CXX object CMakeFiles/geos.dir/src/algorithm/MinimumDiameter.cpp.o
  [  5%] Building CXX object CMakeFiles/geos.dir/src/algorithm/Orientation.cpp.o
  [  5%] Building CXX object CMakeFiles/geos.dir/src/algorithm/PointLocation.cpp.o
  [  6%] Building CXX object CMakeFiles/geos.dir/src/algorithm/PointLocator.cpp.o
  [  6%] Building CXX object CMakeFiles/geos.dir/src/algorithm/RayCrossingCounter.cpp.o
  [  6%] Building CXX object CMakeFiles/geos.dir/src/algorithm/RayCrossingCounterDD.cpp.o
  [  6%] Building CXX object CMakeFiles/geos.dir/src/algorithm/RobustDeterminant.cpp.o
  [  7%] Building CXX object CMakeFiles/geos.dir/src/algorithm/SimplePointInRing.cpp.o
  [  7%] Building CXX object CMakeFiles/geos.dir/src/algorithm/construct/LargestEmptyCircle.cpp.o
  [  7%] Building CXX object CMakeFiles/geos.dir/src/algorithm/construct/MaximumInscribedCircle.cpp.o
  [  7%] Building CXX object CMakeFiles/geos.dir/src/algorithm/distance/DiscreteFrechetDistance.cpp.o
  [  8%] Building CXX object CMakeFiles/geos.dir/src/algorithm/distance/DiscreteHausdorffDistance.cpp.o
  [  8%] Building CXX object CMakeFiles/geos.dir/src/algorithm/distance/DistanceToPoint.cpp.o
  [  8%] Building CXX object CMakeFiles/geos.dir/src/algorithm/hull/ConcaveHull.cpp.o
  [  8%] Building CXX object CMakeFiles/geos.dir/src/algorithm/hull/ConcaveHullOfPolygons.cpp.o
  [  9%] Building CXX object CMakeFiles/geos.dir/src/algorithm/hull/HullTri.cpp.o
  [  9%] Building CXX object CMakeFiles/geos.dir/src/algorithm/hull/HullTriangulation.cpp.o
  [  9%] Building CXX object CMakeFiles/geos.dir/src/algorithm/locate/IndexedPointInAreaLocator.cpp.o
  [  9%] Building CXX object CMakeFiles/geos.dir/src/algorithm/locate/PointOnGeometryLocator.cpp.o
  [ 10%] Building CXX object CMakeFiles/geos.dir/src/algorithm/locate/SimplePointInAreaLocator.cpp.o
  [ 10%] Building CXX object CMakeFiles/geos.dir/src/edgegraph/EdgeGraph.cpp.o
  [ 10%] Building CXX object CMakeFiles/geos.dir/src/edgegraph/EdgeGraphBuilder.cpp.o
  [ 10%] Building CXX object CMakeFiles/geos.dir/src/edgegraph/HalfEdge.cpp.o
  [ 11%] Building CXX object CMakeFiles/geos.dir/src/edgegraph/MarkHalfEdge.cpp.o
  [ 11%] Building CXX object CMakeFiles/geos.dir/src/geom/Coordinate.cpp.o
  [ 11%] Building CXX object CMakeFiles/geos.dir/src/geom/CoordinateArraySequence.cpp.o
  [ 11%] Building CXX object CMakeFiles/geos.dir/src/geom/CoordinateArraySequenceFactory.cpp.o
  [ 12%] Building CXX object CMakeFiles/geos.dir/src/geom/CoordinateSequence.cpp.o
  [ 12%] Building CXX object CMakeFiles/geos.dir/src/geom/DefaultCoordinateSequenceFactory.cpp.o
  [ 12%] Building CXX object CMakeFiles/geos.dir/src/geom/Dimension.cpp.o
  [ 12%] Building CXX object CMakeFiles/geos.dir/src/geom/Geometry.cpp.o
  [ 13%] Building CXX object CMakeFiles/geos.dir/src/geom/Envelope.cpp.o
  [ 13%] Building CXX object CMakeFiles/geos.dir/src/geom/GeometryCollection.cpp.o
  [ 13%] Building CXX object CMakeFiles/geos.dir/src/geom/GeometryComponentFilter.cpp.o
  [ 14%] Building CXX object CMakeFiles/geos.dir/src/geom/GeometryFactory.cpp.o
  [ 14%] Building CXX object CMakeFiles/geos.dir/src/geom/HeuristicOverlay.cpp.o
  [ 14%] Building CXX object CMakeFiles/geos.dir/src/geom/IntersectionMatrix.cpp.o
  [ 15%] Building CXX object CMakeFiles/geos.dir/src/geom/LineSegment.cpp.o
  [ 15%] Building CXX object CMakeFiles/geos.dir/src/geom/LineString.cpp.o
  [ 15%] Building CXX object CMakeFiles/geos.dir/src/geom/LinearRing.cpp.o
  [ 15%] Building CXX object CMakeFiles/geos.dir/src/geom/Location.cpp.o
  [ 15%] Building CXX object CMakeFiles/geos.dir/src/geom/MultiLineString.cpp.o
  [ 16%] Building CXX object CMakeFiles/geos.dir/src/geom/MultiPoint.cpp.o
  [ 16%] Building CXX object CMakeFiles/geos.dir/src/geom/MultiPolygon.cpp.o
  [ 16%] Building CXX object CMakeFiles/geos.dir/src/geom/Point.cpp.o
  [ 16%] Building CXX object CMakeFiles/geos.dir/src/geom/Polygon.cpp.o
  [ 17%] Building CXX object CMakeFiles/geos.dir/src/geom/Position.cpp.o
  [ 17%] Building CXX object CMakeFiles/geos.dir/src/geom/PrecisionModel.cpp.o
  [ 17%] Building CXX object CMakeFiles/geos.dir/src/geom/Quadrant.cpp.o
  [ 17%] Building CXX object CMakeFiles/geos.dir/src/geom/Triangle.cpp.o
  [ 18%] Building CXX object CMakeFiles/geos.dir/src/geom/prep/AbstractPreparedPolygonContains.cpp.o
  [ 18%] Building CXX object CMakeFiles/geos.dir/src/geom/prep/BasicPreparedGeometry.cpp.o
  [ 18%] Building CXX object CMakeFiles/geos.dir/src/geom/prep/PreparedGeometry.cpp.o
  [ 18%] Building CXX object CMakeFiles/geos.dir/src/geom/prep/PreparedGeometryFactory.cpp.o
  [ 19%] Building CXX object CMakeFiles/geos.dir/src/geom/prep/PreparedLineString.cpp.o
  [ 19%] Building CXX object CMakeFiles/geos.dir/src/geom/prep/PreparedLineStringDistance.cpp.o
  [ 19%] Building CXX object CMakeFiles/geos.dir/src/geom/prep/PreparedLineStringIntersects.cpp.o
  [ 19%] Building CXX object CMakeFiles/geos.dir/src/geom/prep/PreparedLineStringNearestPoints.cpp.o
  [ 20%] Building CXX object CMakeFiles/geos.dir/src/geom/prep/PreparedPoint.cpp.o
  [ 20%] Building CXX object CMakeFiles/geos.dir/src/geom/prep/PreparedPolygon.cpp.o
  [ 20%] Building CXX object CMakeFiles/geos.dir/src/geom/prep/PreparedPolygonContains.cpp.o
  [ 20%] Building CXX object CMakeFiles/geos.dir/src/geom/prep/PreparedPolygonContainsProperly.cpp.o
  [ 21%] Building CXX object CMakeFiles/geos.dir/src/geom/prep/PreparedPolygonCovers.cpp.o
  [ 21%] Building CXX object CMakeFiles/geos.dir/src/geom/prep/PreparedPolygonDistance.cpp.o
  [ 21%] Building CXX object CMakeFiles/geos.dir/src/geom/prep/PreparedPolygonIntersects.cpp.o
  [ 21%] Building CXX object CMakeFiles/geos.dir/src/geom/prep/PreparedPolygonPredicate.cpp.o
  [ 22%] Building CXX object CMakeFiles/geos.dir/src/geom/util/ComponentCoordinateExtracter.cpp.o
  [ 22%] Building CXX object CMakeFiles/geos.dir/src/geom/util/CoordinateOperation.cpp.o
  [ 22%] Building CXX object CMakeFiles/geos.dir/src/geom/util/Densifier.cpp.o
  [ 22%] Building CXX object CMakeFiles/geos.dir/src/geom/util/GeometryCombiner.cpp.o
  [ 23%] Building CXX object CMakeFiles/geos.dir/src/geom/util/GeometryEditor.cpp.o
  [ 23%] Building CXX object CMakeFiles/geos.dir/src/geom/util/GeometryFixer.cpp.o
  [ 23%] Building CXX object CMakeFiles/geos.dir/src/geom/util/GeometryMapper.cpp.o
  [ 24%] Building CXX object CMakeFiles/geos.dir/src/geom/util/GeometryTransformer.cpp.o
  [ 24%] Building CXX object CMakeFiles/geos.dir/src/geom/util/LinearComponentExtracter.cpp.o
  [ 24%] Building CXX object CMakeFiles/geos.dir/src/geom/util/NoOpGeometryOperation.cpp.o
  [ 24%] Building CXX object CMakeFiles/geos.dir/src/geom/util/PointExtracter.cpp.o
  [ 25%] Building CXX object CMakeFiles/geos.dir/src/geom/util/PolygonExtracter.cpp.o
  [ 25%] Building CXX object CMakeFiles/geos.dir/src/geom/util/ShortCircuitedGeometryVisitor.cpp.o
  [ 25%] Building CXX object CMakeFiles/geos.dir/src/geom/util/SineStarFactory.cpp.o
  [ 26%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/DirectedEdge.cpp.o
  [ 26%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/Depth.cpp.o
  [ 26%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/DirectedEdgeStar.cpp.o
  [ 26%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/Edge.cpp.o
  [ 26%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/EdgeEnd.cpp.o
  [ 27%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/EdgeEndStar.cpp.o
  [ 27%] Building CXX object CMakeFiles/geos.dir/src/geomgraph/EdgeIntersectionList.cpp.o

  --- stderr
  CMake Warning:
    Manually-specified variables were not used by the project:

      CMAKE_ASM_COMPILER
      CMAKE_ASM_FLAGS
      GEOS_BUILD_SHARED
      GEOS_BUILD_STATIC
      GEOS_ENABLE_TESTS


  In file included from /home/jayvdb/rust/geos/sys/geos-src/source/src/geomgraph/Depth.cpp:23:
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Depth.h:115:17: error: ‘uint8_t’ has not been declared
    115 |     bool isNull(uint8_t geomIndex) const
        |                 ^~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Depth.h:120:17: error: ‘uint8_t’ has not been declared
    120 |     bool isNull(uint8_t geomIndex, uint8_t posIndex) const
        |                 ^~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Depth.h:120:36: error: ‘uint8_t’ has not been declared
    120 |     bool isNull(uint8_t geomIndex, uint8_t posIndex) const
        |                                    ^~~~~~~
  In file included from /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:25,
                   from /home/jayvdb/rust/geos/sys/geos-src/source/src/geomgraph/Depth.cpp:24:
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:143:52: error: ‘uint32_t’ has not been declared
    143 |     bool isEqualOnSide(const TopologyLocation& le, uint32_t locIndex) const
        |                                                    ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:226:10: error: ‘uint8_t’ in namespace ‘std’ does not name a type; did you mean ‘wint_t’?
    226 |     std::uint8_t locationSize;
        |          ^~~~~~~
        |          wint_t
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In constructor ‘geos::geomgraph::TopologyLocation::TopologyLocation(geos::geom::Location, geos::geom::Location, geos::geom::Location):
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:82:11: error: class ‘geos::geomgraph::TopologyLocation’ does not have any field named ‘locationSize’
     82 |         : locationSize(3)
        |           ^~~~~~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In constructor ‘geos::geomgraph::TopologyLocation::TopologyLocation(geos::geom::Location):
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:90:11: error: class ‘geos::geomgraph::TopologyLocation’ does not have any field named ‘locationSize’
     90 |         : locationSize(1)
        |           ^~~~~~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In copy constructor ‘geos::geomgraph::TopologyLocation::TopologyLocation(const geos::geomgraph::TopologyLocation&):
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:98:11: error: class ‘geos::geomgraph::TopologyLocation’ does not have any field named ‘locationSize’
     98 |         , locationSize(gl.locationSize)
        |           ^~~~~~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:98:27: error:const class geos::geomgraph::TopologyLocation’ has no member named ‘locationSize’; did you mean ‘location’?
     98 |         , locationSize(gl.locationSize)
        |                           ^~~~~~~~~~~~
        |                           location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In member function ‘geos::geomgraph::TopologyLocation& geos::geomgraph::TopologyLocation::operator=(const geos::geomgraph::TopologyLocation&):
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:104:9: error: ‘locationSize’ was not declared in this scope; did you mean ‘location’?
    104 |         locationSize = gl.locationSize;
        |         ^~~~~~~~~~~~
        |         location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:104:27: error:const class geos::geomgraph::TopologyLocation’ has no member named ‘locationSize’; did you mean ‘location’?
    104 |         locationSize = gl.locationSize;
        |                           ^~~~~~~~~~~~
        |                           location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In member function ‘geos::geom::Location geos::geomgraph::TopologyLocation::get(std::size_t) const’:
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:111:23: error: ‘locationSize’ was not declared in this scope; did you mean ‘location’?
    111 |         if(posIndex < locationSize) {
        |                       ^~~~~~~~~~~~
        |                       location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In member function ‘bool geos::geomgraph::TopologyLocation::isNull() const’:
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:122:36: error: ‘locationSize’ was not declared in this scope; did you mean ‘location’?
    122 |         for(std::size_t i = 0; i < locationSize; ++i) {
        |                                    ^~~~~~~~~~~~
        |                                    location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In member function ‘bool geos::geomgraph::TopologyLocation::isAnyNull() const’:
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:135:36: error: ‘locationSize’ was not declared in this scope; did you mean ‘location’?
    135 |         for(std::size_t i = 0; i < locationSize; ++i) {
        |                                    ^~~~~~~~~~~~
        |                                    location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In member function ‘bool geos::geomgraph::TopologyLocation::isArea() const’:
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:150:16: error: ‘locationSize’ was not declared in this scope; did you mean ‘location’?
    150 |         return locationSize > 1;
        |                ^~~~~~~~~~~~
        |                location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In member function ‘bool geos::geomgraph::TopologyLocation::isLine() const’:
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:155:16: error: ‘locationSize’ was not declared in this scope; did you mean ‘location’?
    155 |         return locationSize == 1;
        |                ^~~~~~~~~~~~
        |                location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In member function ‘void geos::geomgraph::TopologyLocation::flip():
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:160:12: error: ‘locationSize’ was not declared in this scope; did you mean ‘location’?
    160 |         if(locationSize <= 1) {
        |            ^~~~~~~~~~~~
        |            location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In member function ‘void geos::geomgraph::TopologyLocation::setAllLocationsIfNull(geos::geom::Location):
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:174:36: error: ‘locationSize’ was not declared in this scope; did you mean ‘location’?
    174 |         for(std::size_t i = 0; i < locationSize; ++i) {
        |                                    ^~~~~~~~~~~~
        |                                    location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In member function ‘bool geos::geomgraph::TopologyLocation::allPositionsEqual(geos::geom::Location) const’:
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:206:36: error: ‘locationSize’ was not declared in this scope; did you mean ‘location’?
    206 |         for(std::size_t i = 0; i < locationSize; ++i) {
        |                                    ^~~~~~~~~~~~
        |                                    location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h: At global scope:
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:92:19: error: expected ‘)’ before ‘geomIndex’
     92 |     Label(uint32_t geomIndex, geom::Location onLoc)
        |          ~        ^~~~~~~~~~
        |                   )
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:95:5: error: expected unqualified-id before ‘{’ token
     95 |     {
        |     ^
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:132:19: error: expected ‘)’ before ‘geomIndex’
    132 |     Label(uint32_t geomIndex, geom::Location onLoc, geom::Location leftLoc, geom::Location rightLoc)
        |          ~        ^~~~~~~~~~
        |                   )
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:178:32: error: ‘uint32_t’ has not been declared
    178 |     geom::Location getLocation(uint32_t geomIndex, uint32_t posIndex) const
        |                                ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:178:52: error: ‘uint32_t’ has not been declared
    178 |     geom::Location getLocation(uint32_t geomIndex, uint32_t posIndex) const
        |                                                    ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:184:32: error: ‘uint32_t’ has not been declared
    184 |     geom::Location getLocation(uint32_t geomIndex) const
        |                                ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:190:22: error: ‘uint32_t’ has not been declared
    190 |     void setLocation(uint32_t geomIndex, uint32_t posIndex, geom::Location location)
        |                      ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:190:42: error: ‘uint32_t’ has not been declared
    190 |     void setLocation(uint32_t geomIndex, uint32_t posIndex, geom::Location location)
        |                                          ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:196:22: error: ‘uint32_t’ has not been declared
    196 |     void setLocation(uint32_t geomIndex, geom::Location location)
        |                      ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:202:26: error: ‘uint32_t’ has not been declared
    202 |     void setAllLocations(uint32_t geomIndex, geom::Location location)
        |                          ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:208:32: error: ‘uint32_t’ has not been declared
    208 |     void setAllLocationsIfNull(uint32_t geomIndex, geom::Location location)
        |                                ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:220:17: error: ‘uint32_t’ has not been declared
    220 |     bool isNull(uint32_t geomIndex) const
        |                 ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:231:20: error: ‘uint32_t’ has not been declared
    231 |     bool isAnyNull(uint32_t geomIndex) const
        |                    ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:242:17: error: ‘uint32_t’ has not been declared
    242 |     bool isArea(uint32_t geomIndex) const
        |                 ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:248:17: error: ‘uint32_t’ has not been declared
    248 |     bool isLine(uint32_t geomIndex) const
        |                 ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:254:42: error: ‘uint32_t’ has not been declared
    254 |     bool isEqualOnSide(const Label& lbl, uint32_t side) const
        |                                          ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:260:28: error: ‘uint32_t’ has not been declared
    260 |     bool allPositionsEqual(uint32_t geomIndex, geom::Location loc) const
        |                            ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:269:17: error: ‘uint32_t’ has not been declared
    269 |     void toLine(uint32_t geomIndex)
        |                 ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h: In static member function ‘static geos::geomgraph::Label geos::geomgraph::Label::toLineLabel(const geos::geomgraph::Label&):
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:71:13: error: ‘uint32_t’ was not declared in this scope
     71 |         for(uint32_t i = 0; i < 2; i++) {
        |             ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:29:1: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
     28 | #include <cassert>
    +++ |+#include <cstdint>
     29 | 
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:71:29: error: ‘i’ was not declared in this scope
     71 |         for(uint32_t i = 0; i < 2; i++) {
        |                             ^
  /home/jayvdb/rust/geos/sys/geos-src/source/src/geomgraph/Depth.cpp: In member function ‘void geos::geomgraph::Depth::normalize():
  /home/jayvdb/rust/geos/sys/geos-src/source/src/geomgraph/Depth.cpp:43:9: error: ‘uint8_t’ was not declared in this scope
     43 |     for(uint8_t i = 0; i < 2; i++) {
        |         ^~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/src/geomgraph/Depth.cpp:25:1: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
     24 | #include <geos/geomgraph/Label.h>
    +++ |+#include <cstdint>
     25 | #include <geos/geom/Location.h>
  /home/jayvdb/rust/geos/sys/geos-src/source/src/geomgraph/Depth.cpp:43:24: error: ‘i’ was not declared in this scope
     43 |     for(uint8_t i = 0; i < 2; i++) {
        |                        ^
  /home/jayvdb/rust/geos/sys/geos-src/source/src/geomgraph/Depth.cpp: In member function ‘void geos::geomgraph::Depth::add(const geos::geomgraph::Label&):
  /home/jayvdb/rust/geos/sys/geos-src/source/src/geomgraph/Depth.cpp:66:9: error: ‘uint8_t’ was not declared in this scope
     66 |     for(uint8_t i = 0; i < 2; i++) {
        |         ^~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/src/geomgraph/Depth.cpp:66:9: note: ‘uint8_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
  /home/jayvdb/rust/geos/sys/geos-src/source/src/geomgraph/Depth.cpp:66:24: error: ‘i’ was not declared in this scope
     66 |     for(uint8_t i = 0; i < 2; i++) {
        |                        ^
  /home/jayvdb/rust/geos/sys/geos-src/source/src/geomgraph/Depth.cpp:67:20: error: expected ‘;’ before ‘j’
     67 |         for(uint8_t j = 1; j < 3; j++) {
        |                    ^~
        |                    ;
  /home/jayvdb/rust/geos/sys/geos-src/source/src/geomgraph/Depth.cpp:67:28: error: ‘j’ was not declared in this scope
     67 |         for(uint8_t j = 1; j < 3; j++) {
        |                            ^
  gmake[2]: *** [CMakeFiles/geos.dir/build.make:1420: CMakeFiles/geos.dir/src/geomgraph/Depth.cpp.o] Error 1
  gmake[2]: *** Waiting for unfinished jobs....
  In file included from /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:25,
                   from /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/GraphComponent.h:26,
                   from /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Edge.h:28,
                   from /home/jayvdb/rust/geos/sys/geos-src/source/src/geomgraph/DirectedEdge.cpp:21:
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:143:52: error: ‘uint32_t’ has not been declared
    143 |     bool isEqualOnSide(const TopologyLocation& le, uint32_t locIndex) const
        |                                                    ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:226:10: error: ‘uint8_t’ in namespace ‘std’ does not name a type; did you mean ‘wint_t’?
    226 |     std::uint8_t locationSize;
        |          ^~~~~~~
        |          wint_t
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In constructor ‘geos::geomgraph::TopologyLocation::TopologyLocation(geos::geom::Location, geos::geom::Location, geos::geom::Location):
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:82:11: error: class ‘geos::geomgraph::TopologyLocation’ does not have any field named ‘locationSize’
     82 |         : locationSize(3)
        |           ^~~~~~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In constructor ‘geos::geomgraph::TopologyLocation::TopologyLocation(geos::geom::Location):
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:90:11: error: class ‘geos::geomgraph::TopologyLocation’ does not have any field named ‘locationSize’
     90 |         : locationSize(1)
        |           ^~~~~~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In copy constructor ‘geos::geomgraph::TopologyLocation::TopologyLocation(const geos::geomgraph::TopologyLocation&):
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:98:11: error: class ‘geos::geomgraph::TopologyLocation’ does not have any field named ‘locationSize’
     98 |         , locationSize(gl.locationSize)
        |           ^~~~~~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:98:27: error:const class geos::geomgraph::TopologyLocation’ has no member named ‘locationSize’; did you mean ‘location’?
     98 |         , locationSize(gl.locationSize)
        |                           ^~~~~~~~~~~~
        |                           location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In member function ‘geos::geomgraph::TopologyLocation& geos::geomgraph::TopologyLocation::operator=(const geos::geomgraph::TopologyLocation&):
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:104:9: error: ‘locationSize’ was not declared in this scope; did you mean ‘location’?
    104 |         locationSize = gl.locationSize;
        |         ^~~~~~~~~~~~
        |         location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:104:27: error:const class geos::geomgraph::TopologyLocation’ has no member named ‘locationSize’; did you mean ‘location’?
    104 |         locationSize = gl.locationSize;
        |                           ^~~~~~~~~~~~
        |                           location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In member function ‘geos::geom::Location geos::geomgraph::TopologyLocation::get(std::size_t) const’:
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:111:23: error: ‘locationSize’ was not declared in this scope; did you mean ‘location’?
    111 |         if(posIndex < locationSize) {
        |                       ^~~~~~~~~~~~
        |                       location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In member function ‘bool geos::geomgraph::TopologyLocation::isNull() const’:
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:122:36: error: ‘locationSize’ was not declared in this scope; did you mean ‘location’?
    122 |         for(std::size_t i = 0; i < locationSize; ++i) {
        |                                    ^~~~~~~~~~~~
        |                                    location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In member function ‘bool geos::geomgraph::TopologyLocation::isAnyNull() const’:
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:135:36: error: ‘locationSize’ was not declared in this scope; did you mean ‘location’?
    135 |         for(std::size_t i = 0; i < locationSize; ++i) {
        |                                    ^~~~~~~~~~~~
        |                                    location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In member function ‘bool geos::geomgraph::TopologyLocation::isArea() const’:
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:150:16: error: ‘locationSize’ was not declared in this scope; did you mean ‘location’?
    150 |         return locationSize > 1;
        |                ^~~~~~~~~~~~
        |                location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In member function ‘bool geos::geomgraph::TopologyLocation::isLine() const’:
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:155:16: error: ‘locationSize’ was not declared in this scope; did you mean ‘location’?
    155 |         return locationSize == 1;
        |                ^~~~~~~~~~~~
        |                location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In member function ‘void geos::geomgraph::TopologyLocation::flip():
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:160:12: error: ‘locationSize’ was not declared in this scope; did you mean ‘location’?
    160 |         if(locationSize <= 1) {
        |            ^~~~~~~~~~~~
        |            location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In member function ‘void geos::geomgraph::TopologyLocation::setAllLocationsIfNull(geos::geom::Location):
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:174:36: error: ‘locationSize’ was not declared in this scope; did you mean ‘location’?
    174 |         for(std::size_t i = 0; i < locationSize; ++i) {
        |                                    ^~~~~~~~~~~~
        |                                    location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In member function ‘bool geos::geomgraph::TopologyLocation::allPositionsEqual(geos::geom::Location) const’:
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:206:36: error: ‘locationSize’ was not declared in this scope; did you mean ‘location’?
    206 |         for(std::size_t i = 0; i < locationSize; ++i) {
        |                                    ^~~~~~~~~~~~
        |                                    location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h: At global scope:
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:92:19: error: expected ‘)’ before ‘geomIndex’
     92 |     Label(uint32_t geomIndex, geom::Location onLoc)
        |          ~        ^~~~~~~~~~
        |                   )
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:95:5: error: expected unqualified-id before ‘{’ token
     95 |     {
        |     ^
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:132:19: error: expected ‘)’ before ‘geomIndex’
    132 |     Label(uint32_t geomIndex, geom::Location onLoc, geom::Location leftLoc, geom::Location rightLoc)
        |          ~        ^~~~~~~~~~
        |                   )
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:178:32: error: ‘uint32_t’ has not been declared
    178 |     geom::Location getLocation(uint32_t geomIndex, uint32_t posIndex) const
        |                                ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:178:52: error: ‘uint32_t’ has not been declared
    178 |     geom::Location getLocation(uint32_t geomIndex, uint32_t posIndex) const
        |                                                    ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:184:32: error: ‘uint32_t’ has not been declared
    184 |     geom::Location getLocation(uint32_t geomIndex) const
        |                                ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:190:22: error: ‘uint32_t’ has not been declared
    190 |     void setLocation(uint32_t geomIndex, uint32_t posIndex, geom::Location location)
        |                      ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:190:42: error: ‘uint32_t’ has not been declared
    190 |     void setLocation(uint32_t geomIndex, uint32_t posIndex, geom::Location location)
        |                                          ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:196:22: error: ‘uint32_t’ has not been declared
    196 |     void setLocation(uint32_t geomIndex, geom::Location location)
        |                      ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:202:26: error: ‘uint32_t’ has not been declared
    202 |     void setAllLocations(uint32_t geomIndex, geom::Location location)
        |                          ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:208:32: error: ‘uint32_t’ has not been declared
    208 |     void setAllLocationsIfNull(uint32_t geomIndex, geom::Location location)
        |                                ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:220:17: error: ‘uint32_t’ has not been declared
    220 |     bool isNull(uint32_t geomIndex) const
        |                 ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:231:20: error: ‘uint32_t’ has not been declared
    231 |     bool isAnyNull(uint32_t geomIndex) const
        |                    ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:242:17: error: ‘uint32_t’ has not been declared
    242 |     bool isArea(uint32_t geomIndex) const
        |                 ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:248:17: error: ‘uint32_t’ has not been declared
    248 |     bool isLine(uint32_t geomIndex) const
        |                 ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:254:42: error: ‘uint32_t’ has not been declared
    254 |     bool isEqualOnSide(const Label& lbl, uint32_t side) const
        |                                          ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:260:28: error: ‘uint32_t’ has not been declared
    260 |     bool allPositionsEqual(uint32_t geomIndex, geom::Location loc) const
        |                            ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:269:17: error: ‘uint32_t’ has not been declared
    269 |     void toLine(uint32_t geomIndex)
        |                 ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h: In static member function ‘static geos::geomgraph::Label geos::geomgraph::Label::toLineLabel(const geos::geomgraph::Label&):
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:71:13: error: ‘uint32_t’ was not declared in this scope
     71 |         for(uint32_t i = 0; i < 2; i++) {
        |             ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:29:1: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
     28 | #include <cassert>
    +++ |+#include <cstdint>
     29 | 
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:71:29: error: ‘i’ was not declared in this scope
     71 |         for(uint32_t i = 0; i < 2; i++) {
        |                             ^
  In file included from /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Edge.h:29:
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Depth.h: At global scope:
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Depth.h:115:17: error: ‘uint8_t’ has not been declared
    115 |     bool isNull(uint8_t geomIndex) const
        |                 ^~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Depth.h:120:17: error: ‘uint8_t’ has not been declared
    120 |     bool isNull(uint8_t geomIndex, uint8_t posIndex) const
        |                 ^~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Depth.h:120:36: error: ‘uint8_t’ has not been declared
    120 |     bool isNull(uint8_t geomIndex, uint8_t posIndex) const
        |                                    ^~~~~~~
  In file included from /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:25,
                   from /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/GraphComponent.h:26,
                   from /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Edge.h:28,
                   from /home/jayvdb/rust/geos/sys/geos-src/source/src/geomgraph/Edge.cpp:29:
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:143:52: error: ‘uint32_t’ has not been declared
    143 |     bool isEqualOnSide(const TopologyLocation& le, uint32_t locIndex) const
        |                                                    ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:226:10: error: ‘uint8_t’ in namespace ‘std’ does not name a type; did you mean ‘wint_t’?
    226 |     std::uint8_t locationSize;
        |          ^~~~~~~
        |          wint_t
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In constructor ‘geos::geomgraph::TopologyLocation::TopologyLocation(geos::geom::Location, geos::geom::Location, geos::geom::Location):
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:82:11: error: class ‘geos::geomgraph::TopologyLocation’ does not have any field named ‘locationSize’
     82 |         : locationSize(3)
        |           ^~~~~~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In constructor ‘geos::geomgraph::TopologyLocation::TopologyLocation(geos::geom::Location):
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:90:11: error: class ‘geos::geomgraph::TopologyLocation’ does not have any field named ‘locationSize’
     90 |         : locationSize(1)
        |           ^~~~~~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In copy constructor ‘geos::geomgraph::TopologyLocation::TopologyLocation(const geos::geomgraph::TopologyLocation&):
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:98:11: error: class ‘geos::geomgraph::TopologyLocation’ does not have any field named ‘locationSize’
     98 |         , locationSize(gl.locationSize)
        |           ^~~~~~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:98:27: error:const class geos::geomgraph::TopologyLocation’ has no member named ‘locationSize’; did you mean ‘location’?
     98 |         , locationSize(gl.locationSize)
        |                           ^~~~~~~~~~~~
        |                           location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In member function ‘geos::geomgraph::TopologyLocation& geos::geomgraph::TopologyLocation::operator=(const geos::geomgraph::TopologyLocation&):
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:104:9: error: ‘locationSize’ was not declared in this scope; did you mean ‘location’?
    104 |         locationSize = gl.locationSize;
        |         ^~~~~~~~~~~~
        |         location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:104:27: error:const class geos::geomgraph::TopologyLocation’ has no member named ‘locationSize’; did you mean ‘location’?
    104 |         locationSize = gl.locationSize;
        |                           ^~~~~~~~~~~~
        |                           location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In member function ‘geos::geom::Location geos::geomgraph::TopologyLocation::get(std::size_t) const’:
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:111:23: error: ‘locationSize’ was not declared in this scope; did you mean ‘location’?
    111 |         if(posIndex < locationSize) {
        |                       ^~~~~~~~~~~~
        |                       location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In member function ‘bool geos::geomgraph::TopologyLocation::isNull() const’:
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:122:36: error: ‘locationSize’ was not declared in this scope; did you mean ‘location’?
    122 |         for(std::size_t i = 0; i < locationSize; ++i) {
        |                                    ^~~~~~~~~~~~
        |                                    location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In member function ‘bool geos::geomgraph::TopologyLocation::isAnyNull() const’:
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:135:36: error: ‘locationSize’ was not declared in this scope; did you mean ‘location’?
    135 |         for(std::size_t i = 0; i < locationSize; ++i) {
        |                                    ^~~~~~~~~~~~
        |                                    location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In member function ‘bool geos::geomgraph::TopologyLocation::isArea() const’:
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:150:16: error: ‘locationSize’ was not declared in this scope; did you mean ‘location’?
    150 |         return locationSize > 1;
        |                ^~~~~~~~~~~~
        |                location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In member function ‘bool geos::geomgraph::TopologyLocation::isLine() const’:
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:155:16: error: ‘locationSize’ was not declared in this scope; did you mean ‘location’?
    155 |         return locationSize == 1;
        |                ^~~~~~~~~~~~
        |                location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In member function ‘void geos::geomgraph::TopologyLocation::flip():
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:160:12: error: ‘locationSize’ was not declared in this scope; did you mean ‘location’?
    160 |         if(locationSize <= 1) {
        |            ^~~~~~~~~~~~
        |            location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In member function ‘void geos::geomgraph::TopologyLocation::setAllLocationsIfNull(geos::geom::Location):
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:174:36: error: ‘locationSize’ was not declared in this scope; did you mean ‘location’?
    174 |         for(std::size_t i = 0; i < locationSize; ++i) {
        |                                    ^~~~~~~~~~~~
        |                                    location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h: In member function ‘bool geos::geomgraph::TopologyLocation::allPositionsEqual(geos::geom::Location) const’:
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/TopologyLocation.h:206:36: error: ‘locationSize’ was not declared in this scope; did you mean ‘location’?
    206 |         for(std::size_t i = 0; i < locationSize; ++i) {
        |                                    ^~~~~~~~~~~~
        |                                    location
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h: At global scope:
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:92:19: error: expected ‘)’ before ‘geomIndex’
     92 |     Label(uint32_t geomIndex, geom::Location onLoc)
        |          ~        ^~~~~~~~~~
        |                   )
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:95:5: error: expected unqualified-id before ‘{’ token
     95 |     {
        |     ^
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:132:19: error: expected ‘)’ before ‘geomIndex’
    132 |     Label(uint32_t geomIndex, geom::Location onLoc, geom::Location leftLoc, geom::Location rightLoc)
        |          ~        ^~~~~~~~~~
        |                   )
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:178:32: error: ‘uint32_t’ has not been declared
    178 |     geom::Location getLocation(uint32_t geomIndex, uint32_t posIndex) const
        |                                ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:178:52: error: ‘uint32_t’ has not been declared
    178 |     geom::Location getLocation(uint32_t geomIndex, uint32_t posIndex) const
        |                                                    ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:184:32: error: ‘uint32_t’ has not been declared
    184 |     geom::Location getLocation(uint32_t geomIndex) const
        |                                ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:190:22: error: ‘uint32_t’ has not been declared
    190 |     void setLocation(uint32_t geomIndex, uint32_t posIndex, geom::Location location)
        |                      ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:190:42: error: ‘uint32_t’ has not been declared
    190 |     void setLocation(uint32_t geomIndex, uint32_t posIndex, geom::Location location)
        |                                          ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:196:22: error: ‘uint32_t’ has not been declared
    196 |     void setLocation(uint32_t geomIndex, geom::Location location)
        |                      ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:202:26: error: ‘uint32_t’ has not been declared
    202 |     void setAllLocations(uint32_t geomIndex, geom::Location location)
        |                          ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:208:32: error: ‘uint32_t’ has not been declared
    208 |     void setAllLocationsIfNull(uint32_t geomIndex, geom::Location location)
        |                                ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:220:17: error: ‘uint32_t’ has not been declared
    220 |     bool isNull(uint32_t geomIndex) const
        |                 ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:231:20: error: ‘uint32_t’ has not been declared
    231 |     bool isAnyNull(uint32_t geomIndex) const
        |                    ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:242:17: error: ‘uint32_t’ has not been declared
    242 |     bool isArea(uint32_t geomIndex) const
        |                 ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:248:17: error: ‘uint32_t’ has not been declared
    248 |     bool isLine(uint32_t geomIndex) const
        |                 ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:254:42: error: ‘uint32_t’ has not been declared
    254 |     bool isEqualOnSide(const Label& lbl, uint32_t side) const
        |                                          ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:260:28: error: ‘uint32_t’ has not been declared
    260 |     bool allPositionsEqual(uint32_t geomIndex, geom::Location loc) const
        |                            ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:269:17: error: ‘uint32_t’ has not been declared
    269 |     void toLine(uint32_t geomIndex)
        |                 ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h: In static member function ‘static geos::geomgraph::Label geos::geomgraph::Label::toLineLabel(const geos::geomgraph::Label&):
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:71:13: error: ‘uint32_t’ was not declared in this scope
     71 |         for(uint32_t i = 0; i < 2; i++) {
        |             ^~~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:29:1: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
     28 | #include <cassert>
    +++ |+#include <cstdint>
     29 | 
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Label.h:71:29: error: ‘i’ was not declared in this scope
     71 |         for(uint32_t i = 0; i < 2; i++) {
        |                             ^
  In file included from /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Edge.h:29:
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Depth.h: At global scope:
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Depth.h:115:17: error: ‘uint8_t’ has not been declared
    115 |     bool isNull(uint8_t geomIndex) const
        |                 ^~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Depth.h:120:17: error: ‘uint8_t’ has not been declared
    120 |     bool isNull(uint8_t geomIndex, uint8_t posIndex) const
        |                 ^~~~~~~
  /home/jayvdb/rust/geos/sys/geos-src/source/include/geos/geomgraph/Depth.h:120:36: error: ‘uint8_t’ has not been declared
    120 |     bool isNull(uint8_t geomIndex, uint8_t posIndex) const
        |                                    ^~~~~~~
  gmake[2]: *** [CMakeFiles/geos.dir/build.make:1434: CMakeFiles/geos.dir/src/geomgraph/DirectedEdge.cpp.o] Error 1
  gmake[2]: *** [CMakeFiles/geos.dir/build.make:1462: CMakeFiles/geos.dir/src/geomgraph/Edge.cpp.o] Error 1
  gmake[1]: *** [CMakeFiles/Makefile2:226: CMakeFiles/geos.dir/all] Error 2
  gmake: *** [Makefile:156: all] Error 2
  thread 'main' panicked at '
  command did not execute successfully, got: exit status: 2

  build script failed, must exit now', /home/jayvdb/.cargo/registry/src/github.com-1ecc6299db9ec823/cmake-0.1.49/src/lib.rs:1104:5
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
@jayvdb
Copy link
Contributor Author

jayvdb commented Apr 7, 2023

I see the same error with Clang 16.0.0

@jayvdb
Copy link
Contributor Author

jayvdb commented Apr 7, 2023

gcc 12 works, but I couldnt get clang working from clang 11+

@GuillaumeGomez
Copy link
Member

I think @brendan-ward was the one implementing the static build (sorry if I'm wrong). Any idea what's going on?

@brendan-ward
Copy link
Contributor

The static build just builds the pinned version of GEOS (git submodule for sys/geos-src/source) first, which is where this is failing. It is currently pinned to 3.11.0. It looks like initial support for GCC 13 was added in 3.11.2, so we should probably update to that version.

But in general, build issues with static are most likely build issues with GEOS as of that version.

However, it looks like there are other GCC 13 issues coming directly from GEOS that may need to be resolved first: libgeos/geos#860 (comment)

Those will need to be fixed upstream and we'll need to update the pinned version to that.

For GEOS 3.11.x, it looks like the latest tested version of clang is whatever is installed on Ubuntu 20.04 (clang 1.10).

However, on GEOS main, it looks like clang 11-14 are now being tested, which suggests that for the upcoming GEOS 3.12 release that clang 11-14 should work properly.

We should probably also add a bit more documentation for the static build to indicate the supported (or at least tested) build environment.

Will try to put together a PR to bump us up to 3.11.2 and add a bit more docs shortly.

@brendan-ward
Copy link
Contributor

Since GCC 13 is not yet released, it is not easy to test and probably should be out of scope here until it is released (and preferably available with installable packages for Ubuntu / Debian).

GCC 12 seems to work fine, and clang 14 appears to work for at GEOS 3.11.2.

@jayvdb
Copy link
Contributor Author

jayvdb commented Apr 7, 2023

Thanks. gcc-13 is in debian experimental https://packages.debian.org/experimental/gcc-13 , Fedora 38 & Rawhide https://packages.fedoraproject.org/pkgs/gcc/gcc/
It is also the default compiler on opensuse tumbleweed and lots of other rolling releases. Search for "13.0" on https://repology.org/project/gcc/versions

Anyways, it would be great to get a new release of geos with #128 included.

@GuillaumeGomez
Copy link
Member

I made a new release.

@vladaburian
Copy link

GEOS release 3.11.2 still fails to compile with gcc 13 / clang 16. But there is now version 3.11.3 which does compile with both compilers (tested on arch linux). #139

The last missing cstdint include was in include/geos/shape/fractal/HilbertEncoder.h:

$ git diff 3.11.2 3.11.3 -- include/geos/shape/fractal/HilbertEncoder.h
diff --git a/include/geos/shape/fractal/HilbertEncoder.h b/include/geos/shape/fractal/HilbertEncoder.h
index 61c0010d4..0126d3d95 100644
--- a/include/geos/shape/fractal/HilbertEncoder.h
+++ b/include/geos/shape/fractal/HilbertEncoder.h
@@ -16,6 +16,7 @@
 #pragma once
 
 #include <geos/export.h>
+#include <cstdint>
 #include <string>
 #include <vector>

@weiznich
Copy link
Contributor

weiznich commented Feb 5, 2024

I've opened #144 to fix this by updating the bundled version to 3.12.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants