-
-
Notifications
You must be signed in to change notification settings - Fork 112
Labels
Description
Problem
I encountered tools/osmium build error on Debian Trixie environment during docker-pgrouting side PR #75 work.
(Note that building root osm2pgrouting was no problem on the same Debian Trixie environment.)
https://github.com/pgRouting/docker-pgrouting/actions/runs/19781649485/job/56682677457#step:3:2589
#5 45.46 -- Build files have been written to: /usr/local/src/osm2pgrouting-3.0.0/tools/osmium/build
#5 45.50 [ 25%] Building CXX object CMakeFiles/getrestrictions.dir/src/collectors/turn_restriccions.cpp.o
#5 45.82 In file included from /usr/include/osmium/osm/object.hpp:36,
#5 45.82 from /usr/include/osmium/osm/node.hpp:39,
#5 45.82 from /usr/include/osmium/handler/node_locations_for_ways.hpp:41,
#5 45.82 from /usr/local/src/osm2pgrouting-3.0.0/tools/osmium/include/collectors/turn_restrictions.h:34,
#5 45.82 from /usr/local/src/osm2pgrouting-3.0.0/tools/osmium/src/collectors/turn_restriccions.cpp:26:
#5 45.82 /usr/include/osmium/memory/collection.hpp:52:36: error: ‘conditional_t’ in namespace ‘std’ does not name a template type; did you mean ‘conditional’?
#5 45.82 52 | using data_type = std::conditional_t<std::is_const<TMember>::value, const unsigned char*, unsigned char*>;
#5 45.82 | ^~~~~~~~~~~~~
#5 45.82 | conditional
#5 45.82 /usr/include/osmium/memory/collection.hpp:54:13: error: ‘data_type’ does not name a type
#5 45.82 54 | data_type m_data;
#5 45.82 | ^~~~~~~~~
#5 45.82 /usr/include/osmium/memory/collection.hpp:68:50: error: expected ‘)’ before ‘data’
#5 45.82 68 | explicit CollectionIterator(data_type data) noexcept :
#5 45.82 | ~ ^~~~~
#5 45.82 | )
#5 45.82 /usr/include/osmium/memory/collection.hpp: In constructor ‘osmium::memory::CollectionIterator<TMember>::CollectionIterator()’:
#5 45.82 /usr/include/osmium/memory/collection.hpp:65:17: error: class ‘osmium::memory::CollectionIterator<TMember>’ does not have any field named ‘m_data’
#5 45.82 65 | m_data(nullptr) {
#5 45.82 | ^~~~~~
#5 45.82 /usr/include/osmium/memory/collection.hpp: In member function ‘osmium::memory::CollectionIterator<TMember>& osmium::memory::CollectionIterator<TMember>::operator++()’:
#5 45.82 /usr/include/osmium/memory/collection.hpp:73:17: error: ‘m_data’ was not declared in this scope; did you mean ‘data’?
#5 45.82 73 | m_data = reinterpret_cast<TMember*>(m_data)->next();
#5 45.82 | ^~~~~~
#5 45.82 | data
#5 45.83 /usr/include/osmium/memory/collection.hpp: In member function ‘bool osmium::memory::CollectionIterator<TMember>::operator==(const osmium::memory::CollectionIterator<TMember>&) const’:
:
CI log text: docker-pgrouting-ci-18-3.6-develop-osm2pgrouting-tools-osmium-error.txt
To Reproduce
Build tools/osmium on Debian Trixie environment.
cd ./tools/osmium/
mkdir build
cd build
cmake ..
makeExpectation
The error should not happen.
Platform/versions
OS: Debian Trixie (amd64)
Version: 3.0.0