[This bug is NOT targeted to the upcoming trixie release]
Please keep this issue open in the bug tracker for the package it
was filed for. If a fix in another package is required, please
file a bug for the other package (or clone), and add a block in this
package. Please keep the issue open until the package can be built in
a follow-up test rebuild.
The package fails to build in a test rebuild on at least amd64 with
gcc-15/g++-15, but succeeds to build with gcc-14/g++-14. The
severity of this report will be raised before the forky release.
The full build log can be found at:
http://qa-logs.debian.net/2025/02/16/amd64exp/odr-dabmux_5.0.0+ds-1_unstable_gccexp.log.gz
The last lines of the build log are at the end of this report.
To build with GCC 15, either set CC=gcc-15 CXX=g++-15 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.
apt-get -t=experimental install g++
GCC 15 now defaults to the C23/C++23 standards, exposing many FTBFS.
Other Common build failures are new warnings resulting in build failures
with -Werror turned on, or new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-15/porting_to.html
[...]
119 | const map_t& v = *std::get<std::shared_ptr<json::map_t> >(value.v);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
/usr/include/c++/15/variant:1787:5: note: candidate 26: ‘template<long unsigned int _Np, class ... _Types> constexpr std::variant_alternative_t<_Np, std::variant<_Types ...> >& std::get(variant<_Types ...>&)’
1787 | get(variant<_Types...>& __v)
| ^~~
/usr/include/c++/15/variant:1787:5: note: template argument deduction/substitution failed:
lib/Json.cpp:119:70: error: type/value mismatch at argument 1 in template parameter list for ‘template<long unsigned int _Np, class ... _Types> constexpr std::variant_alternative_t<_Np, std::variant<_Types ...> >& std::get(variant<_Types ...>&)’
119 | const map_t& v = *std::get<std::shared_ptr<json::map_t> >(value.v);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
lib/Json.cpp:119:70: note: expected a constant of type ‘long unsigned int’, got ‘std::shared_ptr<std::unordered_map<std::__cxx11::basic_string<char>, json::value_t> >’
/usr/include/c++/15/variant:1798:5: note: candidate 27: ‘template<long unsigned int _Np, class ... _Types> constexpr std::variant_alternative_t<_Np, std::variant<_Types ...> >&& std::get(variant<_Types ...>&&)’
1798 | get(variant<_Types...>&& __v)
| ^~~
/usr/include/c++/15/variant:1798:5: note: template argument deduction/substitution failed:
lib/Json.cpp:119:70: error: type/value mismatch at argument 1 in template parameter list for ‘template<long unsigned int _Np, class ... _Types> constexpr std::variant_alternative_t<_Np, std::variant<_Types ...> >&& std::get(variant<_Types ...>&&)’
119 | const map_t& v = *std::get<std::shared_ptr<json::map_t> >(value.v);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
lib/Json.cpp:119:70: note: expected a constant of type ‘long unsigned int’, got ‘std::shared_ptr<std::unordered_map<std::__cxx11::basic_string<char>, json::value_t> >’
/usr/include/c++/15/variant:1809:5: note: candidate 28: ‘template<long unsigned int _Np, class ... _Types> constexpr std::variant_alternative_t<_Np, std::variant<_Types ...> >& std::get(const variant<_Types ...>&)’
1809 | get(const variant<_Types...>& __v)
| ^~~
/usr/include/c++/15/variant:1809:5: note: template argument deduction/substitution failed:
lib/Json.cpp:119:70: error: type/value mismatch at argument 1 in template parameter list for ‘template<long unsigned int _Np, class ... _Types> constexpr std::variant_alternative_t<_Np, std::variant<_Types ...> >& std::get(const variant<_Types ...>&)’
119 | const map_t& v = *std::get<std::shared_ptr<json::map_t> >(value.v);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
lib/Json.cpp:119:70: note: expected a constant of type ‘long unsigned int’, got ‘std::shared_ptr<std::unordered_map<std::__cxx11::basic_string<char>, json::value_t> >’
/usr/include/c++/15/variant:1820:5: note: candidate 29: ‘template<long unsigned int _Np, class ... _Types> constexpr std::variant_alternative_t<_Np, std::variant<_Types ...> >&& std::get(const variant<_Types ...>&&)’
1820 | get(const variant<_Types...>&& __v)
| ^~~
/usr/include/c++/15/variant:1820:5: note: template argument deduction/substitution failed:
lib/Json.cpp:119:70: error: type/value mismatch at argument 1 in template parameter list for ‘template<long unsigned int _Np, class ... _Types> constexpr std::variant_alternative_t<_Np, std::variant<_Types ...> >&& std::get(const variant<_Types ...>&&)’
119 | const map_t& v = *std::get<std::shared_ptr<json::map_t> >(value.v);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
lib/Json.cpp:119:70: note: expected a constant of type ‘long unsigned int’, got ‘std::shared_ptr<std::unordered_map<std::__cxx11::basic_string<char>, json::value_t> >’
/usr/include/c++/15/variant:1148:5: note: candidate 30: ‘template<class _Tp, class ... _Types> constexpr _Tp& std::get(variant<_Types ...>&)’
1148 | get(variant<_Types...>& __v)
| ^~~
/usr/include/c++/15/variant:1148:5: note: template argument deduction/substitution failed:
lib/Json.cpp:119:70: note: mismatched types ‘std::variant<_Types ...>’ and ‘const int’
119 | const map_t& v = *std::get<std::shared_ptr<json::map_t> >(value.v);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
/usr/include/c++/15/variant:1158:5: note: candidate 31: ‘template<class _Tp, class ... _Types> constexpr _Tp&& std::get(variant<_Types ...>&&)’
1158 | get(variant<_Types...>&& __v)
| ^~~
/usr/include/c++/15/variant:1158:5: note: template argument deduction/substitution failed:
lib/Json.cpp:119:70: note: mismatched types ‘std::variant<_Types ...>’ and ‘const int’
119 | const map_t& v = *std::get<std::shared_ptr<json::map_t> >(value.v);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
/usr/include/c++/15/variant:1168:5: note: candidate 32: ‘template<class _Tp, class ... _Types> constexpr const _Tp& std::get(const variant<_Types ...>&)’
1168 | get(const variant<_Types...>& __v)
| ^~~
/usr/include/c++/15/variant:1168:5: note: template argument deduction/substitution failed:
lib/Json.cpp:119:70: note: mismatched types ‘const std::variant<_Types ...>’ and ‘const int’
119 | const map_t& v = *std::get<std::shared_ptr<json::map_t> >(value.v);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
/usr/include/c++/15/variant:1178:5: note: candidate 33: ‘template<class _Tp, class ... _Types> constexpr const _Tp&& std::get(const variant<_Types ...>&&)’
1178 | get(const variant<_Types...>&& __v)
| ^~~
/usr/include/c++/15/variant:1178:5: note: template argument deduction/substitution failed:
lib/Json.cpp:119:70: note: mismatched types ‘const std::variant<_Types ...>’ and ‘const int’
119 | const map_t& v = *std::get<std::shared_ptr<json::map_t> >(value.v);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
make[2]: *** [Makefile:1919: lib/odr_dabmux-Json.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/build/reproducible-path/odr-dabmux-5.0.0+ds'
make[1]: *** [Makefile:734: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/odr-dabmux-5.0.0+ds'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:6: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2