static build failure on linux with gcc 13

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

I see the same error with Clang 16.0.0

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

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

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: https://github.com/libgeos/geos/issues/860#issuecomment-1499291218
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.

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.

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 https://github.com/georust/geos/pull/128 included.

I made a new release.

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>

I've opened https://github.com/georust/geos/pull/144 to fix this by updating the bundled version to 3.12.4


Significant slowdown in some DGL models

I recently compare the performance of DGL KGE models on MXNet 1.5 and the current master branch. I noticed significant slowdown. On MXNet 1.5, it takes 12 seconds to run 1000 batches, and now takes 20 seconds. It seems there is no slowdown on operators after some profiling.
To reproduce the problem, please install DGL 0.4, download the DGL KGE package by cloning the DGL repo. The DGL KGE package is under apps/kg. Run the following command:
DGLBACKEND=mxnet python3 train.py --model DistMult --dataset FB15k --batch_size 1024 \
    --neg_sample_size 256 --hidden_dim 2000 --gamma 500.0 --lr 0.1 --max_step 100000 \
    --batch_size_eval 16 --gpu 0 --valid --test -adv

Here is the profiling result on MXNet 1.5

Here is the profiling result in MXNet 1.6

which commit on 1.6 ?

If there is no slowdown on operators, but the models suffer significantly, what's your guess? What might be the cause? Any direction we can start deep diving?

@zheng-da  can you share the output of
python -c "from mxnet.runtime import Features; print(Features())"

@zachgk , please assign to accesstorohit@?

@access2rohit , @ChaiBapchya are you guys looking at this ?

Waiting on @zheng-da for some details
@mxnet-label-bot add [Pending requester info]

@ChaiBapchya it would be worth checking if this PR : https://github.com/apache/incubator-mxnet/pull/16526 caused some slowdown.

Tried reproducing
Got a segfault
Build flags
[✔ CUDA, ✔ CUDNN, ✔ NCCL, ✔ CUDA_RTC, ✖ TENSORRT, ✔ CPU_SSE, ✔ CPU_SSE2, ✔ CPU_SSE3, ✔ CPU_SSE4_1, ✔ CPU_SSE4_2, ✖ CPU_SSE4A, ✔ CPU_AVX, ✖ CPU_AVX2, ✖ OPENMP, ✖ SSE, ✔ F16C, ✖ JEMALLOC, ✖ BLAS_OPEN, ✖ BLAS_ATLAS, ✖ BLAS_MKL, ✖ BLAS_APPLE, ✔ LAPACK, ✖ MKLDNN, ✔ OPENCV, ✖ CAFFE, ✖ PROFILER, ✔ DIST_KVSTORE, ✖ CXX14, ✖ INT64_TENSOR_SIZE, ✔ SIGNAL_HANDLER, ✖ DEBUG]

DGL & MXNet versions
python3 -c "import mxnet;import dgl;print(mxnet.__version__);print(dgl.__version__)"
1.5.1
0.4

Log
/workspace/dgl_issue/dgl/apps/kg$ DGLBACKEND=mxnet python3 train.py --model DistMult --dataset FB15k --batch_size 1024     --neg_sample_size 256 --hidden_dim 2000 --gam
ma 500.0 --lr 0.1 --max_step 100000     --batch_size_eval 16 --gpu 0 --valid --test -adv
Logs are being recorded at: ckpts/DistMult_FB15k_1/train.log
File not found. Downloading from https://s3.us-east-2.amazonaws.com/dgl.ai/dataset/FB15k.zip
8it [00:00, 11.36it/s]
Download finished. Unzipping the file...
Unzip finished.
|Train|: 483142
|valid|: 50000
|test|: 59071
eval on 50000 edges
eval on 50000 edges
eval on 59071 edges
eval on 59071 edges
[Train](0/100000) average pos_loss: 0.6942696571350098
[Train](0/100000) average neg_loss: 0.7048686146736145
[Train](0/100000) average loss: 0.6995691061019897
[Train](0/100000) average regularization: 0.05789175629615784
0.23716044425964355
[Train](1000/100000) average pos_loss: 0.2992950127273798
[Train](1000/100000) average neg_loss: 0.571561429977417
[Train](1000/100000) average loss: 0.43542822140455245
[Train](1000/100000) average regularization: 0.12885531912744044
16.814379453659058

...
Trains for rest of the steps
[Train](99000/100000) average pos_loss: 0.18922672630846502
[Train](99000/100000) average neg_loss: 0.3200621349364519
[Train](99000/100000) average loss: 0.2546444304138422
[Train](99000/100000) average regularization: 0.10238696759194135
13.827665090560913
training takes 1850.2152254581451 seconds
Test average MRR at [99999/100000]: 0.7777071453668755
Test average MR at [99999/100000]: 44.82855377427164
Test average HITS@1 at [99999/100000]: 0.7043134533019587
Test average HITS@3 at [99999/100000]: 0.8327182543041425
Test average HITS@10 at [99999/100000]: 0.8948722723502226

Segmentation fault: 11

Stack trace:
  [bt] (0) /home/ubuntu/anaconda3/lib/python3.6/site-packages/mxnet/libmxnet.so(+0x2e6b140) [0x7f933e364140]
  [bt] (1) /lib/x86_64-linux-gnu/libc.so.6(+0x354b0) [0x7f9414ae14b0]
  [bt] (2) /usr/local/cuda/lib64/libcudart.so.10.0(+0x1d9fe) [0x7f94111fd9fe]
  [bt] (3) /usr/local/cuda/lib64/libcudart.so.10.0(+0x2296b) [0x7f941120296b]
  [bt] (4) /usr/local/cuda/lib64/libcudart.so.10.0(cudaSetDevice+0x47) [0x7f941122a087]
  [bt] (5) /home/ubuntu/anaconda3/lib/python3.6/site-packages/mxnet/libmxnet.so(+0x25bf40a) [0x7f933dab840a]
  [bt] (6) /home/ubuntu/anaconda3/lib/python3.6/site-packages/mxnet/libmxnet.so(+0x25cc21e) [0x7f933dac521e]
  [bt] (7) /home/ubuntu/anaconda3/lib/python3.6/site-packages/mxnet/libmxnet.so(+0x25b4d8e) [0x7f933daadd8e]
  [bt] (8) /home/ubuntu/anaconda3/lib/python3.6/site-packages/mxnet/libmxnet.so(+0x25b5cd4) [0x7f933daaecd4]

@zheng-da can you share the flags for mxnet 1.6.x/master branch that you used ?
Also was it mxnet.15.1 or 1.5.0 from pypi ? Can you confirm ?
for flags you can fire the following command directly from bash
 python -c "from mxnet.runtime import Features; print(Features())"

@anirudh2290 We need to know the exact build flags used for 1.6.x before we start our deep dive.
@ChaiBapchya lets wait for @zheng-da 's reply

I tested with nightly build. so the build flags are what nightly build usually has.

@zheng-da which version was it ? cu90, 92, 100 or 101. Was it w/ or w/o MKL ? It would be much easier if you could simply give us the thr output of this:
python -c "from mxnet.runtime import Features; print(Features())"

I just tried the experiment again and there is no problem. The command to run the experiment:
python3 train.py --model DistMult --dataset FB15k --batch_size 1024 --neg_sample_size 256 --hidden_dim 2000 --gamma 500.0 --lr 0.1 --max_step 2000 --gpu 0

You can use the following commands to install MXNet. The problem is very easy to reproduce. You can install the MKLDNN version if you want. It makes no difference.
pip3 install mxnet-cu100

pip3 install --pre mxnet-cu100


Remove FakeFunc from AddPdf/AddPdfNorm._parts

This is a workaround that worked for me and Following #84, I think it will solve a couple of tests.

So since there were few remaining test failures I tried to fix them as well.

So the builds work for python 2.7 and 3.4, and it works for me for python 3.7.
The only two tests that are remaining are two plot check that fails and I cannot see the difference to solve.

Hi @marinang, thumbs up for the heroic effort!
I have not yet looked at the test_plottting.py file, which is where the failing tests come from, but one thing is really strange: at first all 81 test pass, ran with command python -m pytest -v. Then Travis seems to be rerunning all of test_plotting.py with the command python -m pytest -v --mpl tests/test_plotting.py, and there 2 tests fail. Anything obvious?

if you look at the makefile.

Yep, got there as well, actually looking at the various files needed. While doing that I also noticed the comments

There is a slight difference in the x-axis tick label positioning for this
plot between Python 2 and 3, it's not important here so increase the RMS
slightly such that it's ignored

in a couple of tests in tests_plotting.py where a tolerance is specified. Could it be a matter of increasing the tolerance for the 2 failing tests?

@eduardo-rodrigues you have to put a big tolerance because the rms are ~45 and 56 for between the expected and obtained images.
I put a big tolerance of 60 for those two test for py35 and py36, to make the test pass.
Two remaining problems still for py35 and py36, the doc is not compiled because of this module 'matplotlib.sphinxext.only_directives' which seems to not exist anymore.

Saw that. It's a weird thing the differences between Py 3.4 and 3.5-3.6. To be revisited at some point it seems …
I am tempted to accept this PR given that what is addressed is sorted-ish. The failure at creating the documentation is a different matter and deserves its own PR I would say. I browsed the web a fit and may try and address the problem with the doc soon.
I will merge this later unless somebody shouts.

@eduardo-rodrigues  I just tried to set a maximum requirement on the matplotlib version in travis to the public one, because from the log I saw that the mil version was 3.0.1 ... so just a check

@eduardo-rodrigues for the doc according to https://matplotlib.org/3.0.0/devel/plot_directive.html?highlight=sphinx#module-matplotlib.sphinxext.plot_directive it looks like matplotlib.sphinxext.only_directive doesn't exist anymore.

Yes, seems the directive is gone with matplotlib >=3.


Trying to deploy service with port other then 80 | gateway with multiple ports

Hey so I configured gateway for port 80 and 8083 for same domain i-e example.com. Now when I create attributes using below config file everything get up and running but issue is I am using 8083 in service and virtualService but I get response from service at 80 where on 8083 getting connection timeout.
Unable to understand why service is responding on 80 not 8083
apiVersion: v1
data:
  my.databag.1: need_triage
kind: ConfigMap
metadata:
  name: my-service-env-variables
  namespace: api

---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  labels:
    app: my-service
  name: my-service-service-deployment
  namespace: api
spec:
  replicas: 1
  template:
    metadata:
      annotations:
        traffic.sidecar.istio.io/excludeOutboundIPRanges: <IP_ADDRESS>/0
      labels:
        app: my-service-service-deployment
    spec:
      containers:
      - env:
        - name: my.variable
          valueFrom:
            secretKeyRef:
              key: my_token
              name: my.variable
        envFrom:
        - configMapRef:
            name: my-service-env-variables
        image: imaagepath:tag
        name: my-service-pod
        ports:
        - containerPort: 8080
          name: mysvcport
        resources:
          limits:
            cpu: 700m
            memory: 1.8Gi
          requests:
            cpu: 500m
            memory: 1.7Gi

---
apiVersion: v1
kind: Service
metadata:
  name: my-service
  namespace: api
spec:
  ports:
  - port: 8083
    protocol: TCP
    targetPort: mysvcport
  selector:
    app: my-service-service-deployment

---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: my-service-ingress
  namespace: api
spec:
  gateways:
  - http-gateway
  hosts:
  - my-service.example.com
  http:
  - route:
    - destination:
        host: my-service
        port:
          number: 8083
---
apiVersion: v1
items:
- apiVersion: networking.istio.io/v1alpha3
  kind: Gateway
  metadata:
    clusterName: ""
    creationTimestamp: 2018-11-07T13:17:00Z
    name: http-gateway
    namespace: api
    resourceVersion: "11778445"
    selfLink: /apis/networking.istio.io/v1alpha3/namespaces/api/gateways/http-gateway
    uid: 694f66a4-e28f-11e8-bc21-0ac9e31187a0
  spec:
    selector:
      istio: ingressgateway
    servers:
    - hosts:
      - '*.example.com'
      port:
        name: http
        number: 80
        protocol: HTTP
    - hosts:
      - '*.example.com'
      port:
        name: tomcat-http
        number: 8083
        protocol: HTTP
kind: List
metadata:
  resourceVersion: ""
  selfLink: ""

@ahsannaseem take a look at Istio Spec Requirements.
Try to rename your gateway port 8083 to use http as a prefix (http-tomcat instead of tomcat-http).
Also add a port name to your service:
apiVersion: v1
kind: Service
metadata:
  name: my-service
  namespace: api
spec:
  ports:
  - name: http
    port: 8083
    protocol: TCP
    targetPort: mysvcport
  selector:
    app: my-service-service-deployment

I'm not sure if it solves your problem, but at least you will be in compliance with Istio naming port conventions.

@eduardobaitello  I had the same problem on docker-for-mac, and I found that I always needed to restart docker-for-mac to apply changes to ingress gateway ports. Worked perfectly without doing anything on EKS, so I suppose that's because of a docker-for-mac issue. If you are using docker-for-mac, try it.


Update to given date.

Hello, project owner! Thanks for your work. And here is a little problem:
The android.app.DatePickerDialog has one method named updateDate(int,int,int) by witch we can update current showing date. But I din't find one with the same function in this library. Is there any method support this function?
--Regards

You can set an initial selection through the newInstance() method, but there is no method to update the selection after you're showing the Dialog.
I haven't added this, because I don't really see a usecase for it: if you update the selection after the Dialog is shown, you risk overwriting a user's selection, which is rather bad UX in my book.
I would need to have some more information on your usecase to see whether that's the case here.

I agree.
But my product manager wants to add a third button to the bottom witch is used to navigate to today. I noticed that the onDayOfMonthSelected(int,int,int) method was called in onDayTapped(CalendarDay), witch is used to update the selection UI. I added a third button into the bottom layout and called the onDayOfMonthSelected(int,int,int) method when the click event is invoked, then the problem was solved. Is there any risk of calling this method directly?

I assume that means you have a fork of the library, so you can do what you want ;-)
That's a good solution, it'll do what you want.
I don't consider that callback to be part of the "public API", but it's also highly unlikely to change. It will be easy enough to keep tracking this repository should you want to.
Adding an additional button is something I don't intend on supporting anyway. There are way too many things people would like to do with that. And once I add in a third customizable button, someone is going to turn up wanting a fourth etc.

I agree with you. This an awesome project and it helped me a lot.
Thanks again.

I'm happy it was useful to you. Good luck!


Feature/organization schema

Closes https://github.com/Digipalvelutehdas/APIKA/issues/36
Added

Organization collection
Organization schema
Organization permissions
Organization collection helpers

Looks good. Merging.


New design

Came up with a new design. This is just a demo. Need to insert 'Add' command in the file menu strip

Download tab page can now be eliminated

I prefer my design to be honest. I generally try to avoid dialogs as much as possible.
This might work as an option however.

yup, that was just an optional idea


wants to know what username and password should use to login inside kibana dashboard

I have deployed the optscale sucessfully now when I want to see the logs of the pod it is storing the pods logs in logstash so when I am accessing kibana dashboard on 30081 it is asking for username and password so what username and password should I use to login inside it

you can change login credentials here
according to the missing logs please check /etc/docker/daemon.json  should be valid ip there
{
  "storage-driver": "overlay2",
  "log-driver": "gelf",
  "log-opts": {
    "gelf-address": "udp://<IP_ADDRESS>:12201"
  }
}

then restart docker service
sudo systemctl daemon-reload

sudo service docker restart


[PE-D][Tester B] DG Use case

Suggestion: Would be good to have “Use case ends.” on the next line to make it clearer.

Labels: type.DocumentationBug severity.VeryLow
original: Sornsornah/ped#3

update dg


setUserAgentOverride() seems doesnt actually overrides a User_Agent

user agent is always value of const PHP_GA_MEASUREMENT_PROTOCOL_USER_AGENT, which isnt informative for any analytics at all.
Its hardcoded in HttpClient class with no chanse to actually override without of library code changing:
$request = new Request(
            'GET',
            $url,
            ['User-Agent' => self::PHP_GA_MEASUREMENT_PROTOCOL_USER_AGENT]
        );

        $opts = $this->parseOptions($options);
        $response = $this->getClient()->sendAsync($request, [
            'synchronous' => !$opts['async'],
            'timeout' => $opts['timeout'],
            'connect_timeout' => $opts['timeout'],
        ]);

You can just call setUserAgentOverride method on the Analytics object.

@jorgeborges, thats what i talking about - it seems dat setter doesnt affetc on its target parameter. Even i set any value with setUserAgentOverride, i alway get 'THE ICONIC GA Measurement Protocol PHP Client (https://github.com/theiconic/php-ga-measurement-protocol)' in my analytics reports in "Browser" metric.
The reason may be google prefers to use header "User-Agent" value.

This is the way Google provides to override the User-Agent. Other users reported this before and they used it successfully. https://github.com/theiconic/php-ga-measurement-protocol/issues/4
$analytics->setUserAgentOverride('My Custom User-Agent');

More info from the official docs in: https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#ua


The baseline results

Thanks for your great work!
I met some problems when I reimplemented the Fixmatch results in your table. The error rate of Fixmatch is 7.4% on CIFAR10(Known/Unknown 6/4, number of the labeled image is 50), which is lower than your reported results. I  have not figured out why. Do you have any ideas?
I utilize the Fixmatch code in https://github.com/TorchSSL/TorchSSL

Hi, thanks for your interest in our work.
It is hard to figure out why since your Fixmatch is not based on our implementation. But, possible reasons are batch-size of labeled and unlabeled data. We use smaller batch-size for unlabeled data to reduce training costs. This may explain the improved results you got though I am not confident at all.

Hi,
I also have the same issue reproducing the FixMatch results in the table. Using the code provided in this repo, the error rate is 19.82% while the AUROC using SoftMax is 30.44% on CIFAR-10 (50 labels), which is significantly different from the report numbers. @ksaito-ut Could you please share the code and the command to reproduce the FixMatch numbers in your table?
In my reproduction, I remove the OOD filtering of exclude_dataset, the three detector losses (L_o, L_oem, L_socr), and the warm-up for L_fix. The AUROC is roc_soft computed in test.

This is the command I used: CUDA_VISIBLE_DEVICES=0 python main.py --dataset cifar10 --num-labeled 50 --out ./result --arch wideresnet --lambda_oem 0 --lambda_socr 0 --batch-size 64 --mu 2 --lr 0.03 --expand-labels --seed 0 --opt_level O2 --no-progress --threshold 0.95

Hi, this is great work. @ksaito-ut When I try to reproduce the Fixmatch result with this code, and I only remove SOCR, the error rate is 27% on CIFAR-10 (50 labels). Could you please provide your baseline settings for Fixmatch in Table 1?


fix: Production migrations

closes #60

Well done, to have this ready for production, after finishing listFiles PR from dev to main.

The ListFiles task isn't mine, so I suggest to merge to main now so you can start working with the existing features.


WIP: Surface indirect deps from go.mod for security updates

This will allow us to propose updates to vulnerable transitive dependencies.
When the go.mod is in a recent format (go 1.17+) we can expect that any transitive dependencies that are used by the project are included in the go.mod but labeled as // indirect. By surfacing these as dependencies during a security update we can update them like any other dependency.
When the go.mod is in an older format, the vulnerable transitive dependency might only be in the go.sum file and we won't propose an update. This should become less common over time but we could revisit this in the future if we find that adoption of the newer format isn't widespread.
An alternative to updating the transitive dependency directly would be to look for an update to the parent dependency which requires a fixed version of the transitive dependency. I don't think that's something we currently want to maintain but may adopt in the future if the go tooling provided support for it.
Fix https://github.com/dependabot/dependabot-core/issues/1158

Interesting idea for sure. We'll obviously encounter this problem in other ecosystems as well, so we might want to start to think about what needs to change in Dependabot generically so that we don't assume all deps are top-level deps.

Closing in favor of https://github.com/dependabot/dependabot-core/pull/6361


General, non-essential improvements

This is a list of desired, but non-essential improvements noted whilst  reviewing https://github.com/aiidateam/disk-objectstore/pull/96

[ ] mention container.clean_storage() in basic usage
[x] add simple CLI
[x] ~delete empty folders after container.clean_storage()~ [GP's comment: I don't think it's useful, it's only very few folders that will be soon recreated]
[x] ~as a standalone library, integrated metadata storage would be ideal (e.g. file format, file path)~ [GP's comment: it could be useful, but it's tricky - this is best implemented in codes using this library, see e.g. this AiiDA issue]
[x] drop python 3.5
[x] use type annotations (and add mypy CI + py.typed file)
[ ] use * before key-word arguments
[x] Moved to issue: #149
[ ] specify "utf8" for config JSON read/write?
[ ] checking the size of the pack every time is maybe not performant: can we memoize full packs? (I guess you'd have to be careful to remove a pack from the set, if you removed anything from it):

tests/test_benchmark.py::test_pack_write
ncalls  tottime percall cumtime percall filename:lineno(function)
1       0.0000  0.0000  0.4833  0.4833  disk-objectstore/disk_objectstore/container.py:1556(add_objects_to_pack)
1       0.0484  0.0484  0.4670  0.4670  disk-objectstore/disk_objectstore/container.py:1297(add_streamed_objects_to_pack)
10001   0.0180  0.0000  0.2115  0.0000  disk-objectstore/disk_objectstore/container.py:242(_get_pack_id_to_write_to)
20003   0.1005  0.0000  0.1005  0.0000  ~:0(<built-in method posix.stat>)
10002   0.0145  0.0000  0.0799  0.0000  disk-objectstore/disk_objectstore/container.py:226(_get_pack_path_from_pack_id)

~_get_objects_stream_meta_generator yield named tuple or dataclass (see https://pypi.org/project/dataclasses/ and https://github.com/python-attrs/attrs), also for the meta key, this should be a dataclass rather than a dict.~ [GP: moved to #150]

~and actually anywhere you are returning dicts, it would be better to return a dataclass (I'm a big fan of TypeScript!), like count_objects and get_total_size~ [GP: moved to #150]

It feels like _get_objects_stream_meta_generator could be refactored some what to remove the duplication(pytest is right, it is too complex lol). Perhaps the number of retries for loose_not_found should be configurable.

https://github.com/aiidateam/disk-objectstore/blob/e7e3627a67e8de2030b231927a127a9fb06ae474/disk_objectstore/container.py#L991-L992 just use a set 🤷 {hashkey}

change get_hash -> get_hash_cls

Documention notes:

Current experience (with AiiDA) shows that it's actually not so good to use two
levels of nesting.

out of interest, why?

the move operation should be hopefully a fast atomic operation on most filesystems

are there any you know of where this is not the case?
add tox.ini:
[tox]
envlist = py37

[testenv]
usedevelop=True

[testenv:py{35,36,37,38}]
description = run pytest
extras = dev
commands = pytest {posargs:--cov=disk_objectstore}

[testenv:py{36,37,38}-pre-commit]
description = run pre-commit
extras = dev
commands = pre-commit {posargs:run}

[testenv:py{35,36,37,38}-ipython]
description = start an ipython console
deps =
    ipython
commands = ipython

Profiling snapshot (for later discussion):
$ tox -e py37 -- --benchmark-only --benchmark-cprofile=cumtime

tests/test_benchmark.py::test_has_objects
ncalls  tottime percall cumtime percall filename:lineno(function)
1       0.0048  0.0048  0.4209  0.4209  disk-objectstore/disk_objectstore/container.py:778(has_objects)
10001   0.0322  0.0000  0.4123  0.0000  disk-objectstore/disk_objectstore/container.py:451(_get_objects_stream_meta_generator)
6       0.0000  0.0000  0.0896  0.0149  disk-objectstore/.tox/py37/lib/python3.7/site-packages/sqlalchemy/orm/query.py:3503(__iter__)
6       0.0000  0.0000  0.0886  0.0148  disk-objectstore/.tox/py37/lib/python3.7/site-packages/sqlalchemy/orm/query.py:3528(_execute_and_instances)
8       0.0000  0.0000  0.0874  0.0109  disk-objectstore/.tox/py37/lib/python3.7/site-packages/sqlalchemy/engine/base.py:943(execute)
7       0.0000  0.0000  0.0872  0.0125  disk-objectstore/.tox/py37/lib/python3.7/site-packages/sqlalchemy/sql/elements.py:296(_execute_on_connection)
7       0.0001  0.0000  0.0872  0.0125  disk-objectstore/.tox/py37/lib/python3.7/site-packages

tests/test_benchmark.py::test_list_all_loose
ncalls  tottime percall cumtime percall filename:lineno(function)
1       0.0000  0.0000  0.0000  0.0000  ~:0(<method 'disable' of '_lsprof.Profiler' objects>)

tests/test_benchmark.py::test_list_all_packed
ncalls  tottime percall cumtime percall filename:lineno(function)
1       0.0000  0.0000  0.0000  0.0000  ~:0(<method 'disable' of '_lsprof.Profiler' objects>)

tests/test_benchmark.py::test_loose_read
ncalls  tottime percall cumtime percall filename:lineno(function)
1       0.0019  0.0019  0.1003  0.1003  disk-objectstore/disk_objectstore/container.py:803(get_objects_content)
1001    0.0046  0.0000  0.0927  0.0001  disk-objectstore/disk_objectstore/container.py:451(_get_objects_stream_meta_generator)
1000    0.0321  0.0000  0.0321  0.0000  ~:0(<built-in method io.open>)

tests/test_benchmark.py::test_pack_read
ncalls  tottime percall cumtime percall filename:lineno(function)
1       0.0089  0.0089  0.1700  0.1700  disk-objectstore/disk_objectstore/container.py:803(get_objects_content)
10001   0.0300  0.0000  0.1407  0.0000  disk-objectstore/disk_objectstore/container.py:451(_get_objects_stream_meta_generator)
10001   0.0146  0.0000  0.0677  0.0000  disk-objectstore/disk_objectstore/utils.py:922(detect_where_sorted)
20004   0.0051  0.0000  0.0498  0.0000  ~:0(<built-in method builtins.next>)
10001   0.0030  0.0000  0.0447  0.0000  disk-objectstore/.tox/py37/lib/python3.7/site-packages/sqlalchemy/engine/result.py:1006(__iter__)
10001   0.0071  0.0000  0.0417  0.0000  disk-objectstore/.tox/py37/lib/python3.7/site-packages/sqlalchemy/engine/result.py:1320(fetchone)
20000   0.0099  0.0000  0.0253  0.0000  disk-objectstore/disk_objectstore/utils.py:385(_update_pos)
10000   0.0093  0.0000  0.0245  0.0000  disk-objectstore/disk_objectstore/utils.py:365(__init__)
10001   0.0028  0.0000  0.0237  0.0000  disk-objectstore/.tox/py37/lib/python3.7/site-packages/sqlalchemy/engine/result.py:1213(_fetchone_impl)
10001   0.0209  0.0000  0.0209  0.0000  ~:0(<method 'fetchone' of 'sqlite3.Cursor' objects>)
10000   0.0059  0.0000  0.0204  0.0000  disk-objectstore/disk_objectstore/utils.py:400(read)
20000   0.0154  0.0000  0.0154  0.0000  ~:0(<method 'tell' of '_io.BufferedReader' objects>)
10000   0.0080  0.0000  0.0109  0.0000  disk-objectstore/.tox/py37/lib/python3.7/site-packages

tests/test_benchmark.py::test_loose_write
ncalls  tottime percall cumtime percall filename:lineno(function)
1       0.0018  0.0018  0.5730  0.5730  disk-objectstore/tests/test_benchmark.py:28(write_loose)
1000    0.0039  0.0000  0.5710  0.0006  disk-objectstore/disk_objectstore/container.py:842(add_object)
1000    0.0051  0.0000  0.5671  0.0006  disk-objectstore/disk_objectstore/container.py:851(add_streamed_object)
1000    0.0150  0.0000  0.4302  0.0004  disk-objectstore/disk_objectstore/utils.py:158(__exit__)
1000    0.0079  0.0000  0.2387  0.0002  disk-objectstore/disk_objectstore/utils.py:852(safe_flush_to_disk)
2000    0.0052  0.0000  0.1639  0.0001  disk-objectstore/disk_objectstore/utils.py:870(<lambda>)
2000    0.1587  0.0001  0.1587  0.0001  ~:0(<built-in method posix.fsync>)
1000    0.0051  0.0000  0.1083  0.0001  disk-objectstore/disk_objectstore/utils.py:141(__enter__)
2000    0.1044  0.0001  0.1044  0.0001  ~:0(<built-in method io.open>)

tests/test_benchmark.py::test_pack_write
ncalls  tottime percall cumtime percall filename:lineno(function)
1       0.0000  0.0000  0.4961  0.4961  disk-objectstore/disk_objectstore/container.py:1556(add_objects_to_pack)
1       0.0522  0.0522  0.4945  0.4945  disk-objectstore/disk_objectstore/container.py:1297(add_streamed_objects_to_pack)
10001   0.0193  0.0000  0.2252  0.0000  disk-objectstore/disk_objectstore/container.py:242(_get_pack_id_to_write_to)
20003   0.1072  0.0000  0.1072  0.0000  ~:0(<built-in method posix.stat>)
10002   0.0150  0.0000  0.0848  0.0000  disk-objectstore/disk_objectstore/container.py:226(_get_pack_path_from_pack_id)

Originally posted by @chrisjsewell in https://github.com/aiidateam/disk-objectstore/pull/96#issuecomment-700491481

It feels like _get_objects_stream_meta_generator could be refactored some what to remove the duplication(pytest is right, it is too complex lol). Perhaps the number of retries for loose_not_found should be configurable.

It is. But the number of retries is not random - its current number is designed to guarantee it works correctly when there is a concurrent pack_all_loose and clean_storage.

Current experience (with AiiDA) shows that it's actually not so good to use two levels of nesting.
out of interest, why?

The issue is the number of inodes. Every folder is an inode, and on "typical" filesystems (e.g. ext3, ext4) it costs 4kB or so.
Let's consider two levels of nesting: you have 256 folders per level, so a total of 256*256 = 65536 folders).
You indeed have on average less files per sub-sub-folder (e.g. if you have 1 million objects, you have on average ~4 files per folder. With a single nesting level, you have ~4000. But in the end, having 4000 files in a folder is not so big of a problem! No need to only keep 3-4 files per subfolder.
And with disk-objectstore, the idea is that you should have probably already packed your objects if you have 1000000 objects and you should not keep them loose. So, no need to do two levels of nesting.
(reading the comment now, I realise that I should not have said that it's not so good, probably it's just not needed).

the move operation should be hopefully a fast atomic operation on most filesystems
are there any you know of where this is not the case?

I didn't check but I'm sure that for non-standard filesystems (especially network shares or similar, or even worse when mounting things that are not supposed to be a filesystem, such as mounting an S3 share) this is not the case.
Probably good network filesystems give some good guarantees on this (but I'm not sure if they also provide instantaneous consistency between different network machines), but I'm quite sure that it's not even possible if you mount an S3, since there is no concept (IIRC) of "moving" an object in S3, you have to create a new one and delete the old one.
Corner cases, but we already know of people that would like to use this on top of e.g. S3 (we even had an issue to discuss this, #17) so it's important to specify in my opinion


add fields to cluster events ignored fields list

These fields change very frequently, we do not need to monitor such change

/override ci/prow/integration-test


Unable to make YouTube object

Traceback (most recent call last):
  File "/home/samip/Python_programming/Cmd based/YTdownloader.py", line 3, in <module>
    video = YouTube('https://youtu.be/9bZkp7q19f0')
  File "/home/samip/Sublime_Envs/venv(pygame)/lib/python3.6/site-packages/pytube/__main__.py", line 91, in __init__
    self.prefetch()
  File "/home/samip/Sublime_Envs/venv(pygame)/lib/python3.6/site-packages/pytube/__main__.py", line 183, in prefetch
    self.js_url = extract.js_url(self.watch_html)
  File "/home/samip/Sublime_Envs/venv(pygame)/lib/python3.6/site-packages/pytube/extract.py", line 143, in js_url
    base_js = get_ytplayer_config(html)["assets"]["js"]
KeyError: 'assets'

Duplicate of #834 and it was resolved.

hi @Samip-Karki this problem is caused by having an outdated version of pytube. To install the latest version, please run the following:
python -m pip uninstall pytube pytube3 pytubex
python -m pip install pytube


Thrift 4126

Hello
It is a pull request with required fields validation for php extension
Here is jira issue https://issues.apache.org/jira/browse/THRIFT-4126

Hi @jeking3
I looked into the failed builds. But errors are not related to my changes.
Maybe i should wait for some time and merge changes from thrift repo into my branch.

Yes, I recommend you:

Squash your commits (optional, but we'll do it anyway when we merge into apache master)
Rebase against upstream master.
Force push.

This will trigger a new build against the tip.
If you are not familiar with squashing, it's okay if you skip that part.

Now all build jobs are success

Yes
I will add functional tests
But it can take a few weeks, because i do not have enough free time now

I'll open a story in Jira for it.

When this does merge into master, it's probably worth updating the README.md indicating this is a breaking change (for the better).  I would like to take a look at how some of the other runtime libraries for Thrift handle required fields as well to see what the consensus behavior is.

There is a falg "validate" in thrift generator for php (validate:        Generate PHP validator methods\n")
And that flag is used in my changes
I will try  to add tests for both cases: when the flag is set and when not


[Suggestion] Add compat with "Pollution of the Realms" for gas mechanics on "Air quality Module" card from Miscellaneous Project

Is your feature request related to a problem? Please describe.
First of all, i would like to hear if you like the idea i will show you here, i just wanted to tell you this in case you never considered before (or you never heard about that mod, that's why i named this issue as a Suggestion).
While i was re-reading the different projects you had, i randomly remembered a mod called Glenn's Gases, the most complete version is on 1.7 (with some machines to store, move and use the gas) but it has a Beta on 1.12 (sadly, without the machines).
Describe the solution you'd like
The card i re-readed was about Air Quality (specifically, the "Coal veins can explode" feature) and as i said, i remembered that old mod.
It is based on an API called Gases Framework,  i admit that i never played with it before (the 1.7 version, the 1.12 seems to be functional but i can't really tell you, there are no videos about the 1.12 version), but i would like to show you some videos about it, and if you like it you can consider adding some compat (it is like an alternative to Pollution of the Realms, but it doesn't has any pollution-related mechanic, or at least in the 1.12 version)
Describe alternatives you've considered
In case you don't like it, you can implement it as you had in mind.
Additional context
The videos:
https://www.youtube.com/watch?v=g02vbpVqP38
https://www.youtube.com/watch?v=5H7r-n_mfdw

Whoa. Well, thanks for the suggestion anyways. That "air quality" thing there was just an idea suggested by someone before, but I think there are more important things to work on right now (e.g. the heat mechanics rework). Unfortunately, I can't find time to actually work on this project lately, hence the lack of activity. That being said, I will try to look into this when the time comes.

ok no worries, i will let this open, but as i said, sadly the mod is dead, and i guess that you don't want to invest your time onto another project.
anyway, yeah, we can't declare anything about something we don't know, give it a look when you can

https://www.curseforge.com/minecraft/mc-mods/pollution-of-the-realms
suggested alternative?

suggested alternative?

well, it could be a better option since the mod from my suggestion is dead, it is not as realistic as Gases Framework but if Enginecrafter77 is ok with it, i guess all it's fine
also, i just want to add that recently the HBM's Nuclear Tech Mod for 1.7.10 implemented its own Gases (like chlorine, as far as i know), so when that is ported to 1.12, why not adding compat with it too? (once you implement the "Air quality Module")

ok, let me change the name of the issue

will shoot ideas when i think of them and edit this comment. thanks so much for listening to player input, means a lot.

https://www.curseforge.com/minecraft/mc-mods/environmental-rads
something to note, seems very early in development, might reach out

if we talk about Radiation systems, HBM's Nuclear Tech Mod has the most polished one

Well, after thinking this a bit, the main reason why something like Air Quality would be implemented in Survival Inc. is to affect the healt of the player, and since Pollution of the Realms already adds negative effects to polluted areas, why Survival Inc. should implement something in its side?
pollution doesn't affect Body Heat, Wetness or Hydration in an intuitive/practical way.


Add "Reading Wasm Memory from JavaScript" reference section to the guide

Would document import { memory } from "whatever_bg";
Have an example of rust returning a pointer (and length?) to JS and then JS constructing a Uint8Array from the memory.buffer.
Have an example of using wasm_bindgen::memory(), casting that to js_sys::WebAssembly::Memory, getting its underlying buffer and constructing a js_sys::Uint8Array from that that is returned to JS.

Looking forward to this!

This is now done in the wasm-in-wasm example, but it's notoriously tricky because the value returned by the buffer property from wasm's memory can change at any time when Rust does a memory allocation, so this needs to be done very carefully

I think we've documented this effectively enough in the meantime, so closing.