pgRouting / pgrouting

Repository contains pgRouting library. Development branch is "develop", stable branch is "master"
https://pgrouting.org
GNU General Public License v2.0
1.15k stars 366 forks source link

Can't build on alpine 3.20 #2639

Open tina-junold opened 2 months ago

tina-junold commented 2 months ago

Problem Can't build on alpine 3.20, it was working on 3.18. I assume a problem/incompatibility with the compiler.

To Reproduce I'm building pgrouting with other components in this repository in docker container and combine the compiled libs/binaries later.

https://gitlab.com/ideaplexus/postgis/-/tree/alpine-3.20?ref_type=heads

Checkout the alpine-3.20 branch and run make pgrouting

Expectation Should compile

Sample Data Failed to build: https://gitlab.com/ideaplexus/postgis/-/jobs/7502926663

[81/198] Building CXX object src/bellman_ford/CMakeFiles/bellman_ford.dir/edwardMoore_driver.cpp.o
ninja: job failed: /usr/bin/c++ -DBOOST_ALLOW_DEPRECATED_HEADERS -DBoost_VERSION_MACRO=108400 -DPGSQL_VERSION=163 -DPROJECT_VERSION=\"3.6.2\" -I/usr/src/pgrouting/include -isystem /usr/local/include/postgresql/server -fPIC  -frounding-math  -O3 -DNDEBUG -std=gnu++14   -Wsign-conversion -MD -MT src/cpp_common/CMakeFiles/cpp_common.dir/rule.cpp.o -MF src/cpp_common/CMakeFiles/cpp_common.dir/rule.cpp.o.d -o src/cpp_common/CMakeFiles/cpp_common.dir/rule.cpp.o -c /usr/src/pgrouting/src/cpp_common/rule.cpp
In file included from /usr/src/pgrouting/src/cpp_common/rule.cpp:26:
/usr/src/pgrouting/include/cpp_common/rule.h:40:34: error: 'int64_t' was not declared in this scope
   40 |     using iterator = std::vector<int64_t>::iterator;
      |                                  ^~~~~~~
/usr/src/pgrouting/include/cpp_common/rule.h:32:1: note: 'int64_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
   31 | #include <sstream>
  +++ |+#include <cstdint>
   32 | 
/usr/src/pgrouting/include/cpp_common/rule.h:40:41: error: template argument 1 is invalid
   40 |     using iterator = std::vector<int64_t>::iterator;

Platform/versions alpine 3.20 libpqxx 7.9.1 geos 3.12.2 gdal 3.9.1 cgal 5.6.1 sfcgal 1.5.2 proj4 9.4.1 postgis 3.4.2 pgrouting 3.6.2 osm2pgsql 1.11.0 osm2pgrouting 2.3.8