Hi, qmc fails to build in a test rebuild on at least amd64 and arm64 with gcc-16/g++-16, but builds properly with gcc-15/g++-15. The severity of this report will be raised before the forky release. The full build log can be found at: https://people.debian.org/~ema/gcc-16-rebuilds/output-1/qmc_arm64.build.xz The last lines of the build log are at the end of this report. To build with GCC 16, either set CC=gcc-16 CXX=g++-16 explicitly, or install the gcc, g++, gfortran, ... packages from experimental. apt-get -t=experimental install g++ Common build failures include unused (but set) variables, array subscripts partly outside array bounds, and new/dropped symbols in Debian symbols files. For other C/C++ related build failures see the porting guide at http://gcc.gnu.org/gcc-16/porting_to.html Please only close this issue after double-checking that the package can be built correctly with GCC 16. Please do not reassign this bug to another package. If a fix in another package is required, then file a bug for the other package (or clone), and mark this bug as blocked by the bug in the other package. [...] 107 | cin >> expression_buffer; | ^~~~~~~~~~~~~~~~~ • candidate 26: ‘template<class _Istream, class _Tp> _Istream&& std::operator>>(_Istream&&, _Tp&&)’ /usr/include/c++/16/istream:1112:5: 1112 | operator>>(_Istream&& __is, _Tp&& __x) | ^~~~~~~~ • template argument deduction/substitution failed: • /usr/include/c++/16/istream: In substitution of ‘template<class _Istream, class _Tp> _Istream&& std::operator>>(_Istream&&, _Tp&&) [with _Istream = std::basic_istream<char>&; _Tp = char*&]’: • required from here core.cc:107:12: 107 | cin >> expression_buffer; | ^~~~~~~~~~~~~~~~~ • error: template constraint failure for ‘template<class _Is, class _Tp> requires (__derived_from_ios_base<_Is>) && requires(_Is& __is, _Tp&& __t) {__is >> (forward<_Tp>)(__t);} using std::__rvalue_stream_extraction_t = _Is&&’ /usr/include/c++/16/istream:1112:5: 1112 | operator>>(_Istream&& __is, _Tp&& __x) | ^~~~~~~~ • constraints not satisfied • /usr/include/c++/16/bits/ostream.h: In substitution of ‘template<class _Is, class _Tp> requires (__derived_from_ios_base<_Is>) && requires(_Is& __is, _Tp&& __t) {__is >> (forward<_Tp>)(__t);} using std::__rvalue_stream_extraction_t = _Is&& [with _Is = std::basic_istream<char>&; _Tp = char*&]’: • required by substitution of ‘template<class _Istream, class _Tp> _Istream&& std::operator>>(_Istream&&, _Tp&&) [with _Istream = std::basic_istream<char>&; _Tp = char*&]’ /usr/include/c++/16/istream:1112:5: • required from here core.cc:107:12: 107 | cin >> expression_buffer; | ^~~~~~~~~~~~~~~~~ • required for the satisfaction of ‘__derived_from_ios_base<_Is>’ [with _Is = std::basic_istream<char, std::char_traits<char> >&] /usr/include/c++/16/bits/ostream.h:803:13: 803 | concept __derived_from_ios_base = is_class_v<_Tp> | ^~~~~~~~~~~~~~~~~~~~~~~ • the expression ‘is_class_v<_Tp> [with _Tp = std::basic_istream<char, std::char_traits<char> >&]’ evaluated to ‘false’ /usr/include/c++/16/bits/ostream.h:803:39: 803 | concept __derived_from_ios_base = is_class_v<_Tp> | ^~~~~~~~~~~~~~~ • ‘std::basic_istream<char>&’ is not a class core.cc:182:17: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings] 182 | verbose_msg("\nsyntax checked...", options); | ^~~~~~~~~~~~~~~~~~~~~ core.cc:206:17: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings] 206 | verbose_msg("\nvariables assigned...", options); | ^~~~~~~~~~~~~~~~~~~~~~~~~ core.cc:240:17: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings] 240 | verbose_msg("\nstarting analyse function", options); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ core.cc:291:32: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings] 291 | if( !(i%4) ) verbose_msg(".", options); | ^~~ core.cc:307:17: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings] 307 | verbose_msg("\nrecalculating...", options); | ^~~~~~~~~~~~~~~~~~~~ core.cc:342:15: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings] 342 | verbose_msg("\npreparing for comparison...", options); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ core.cc:386:15: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings] 386 | verbose_msg("\nrunning comparison...\n", options); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ core.cc:412:15: warning: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings] 412 | verbose_msg("\ngenerating output string...\n", options); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1plus: warning: ‘-Werror=’ argument ‘-Werror=implicit-function-declaration’ is not valid for C++ cc1plus: warning: ‘-Werror=’ argument ‘-Werror=implicit-function-declaration’ is not valid for C++ cc1plus: warning: ‘-Werror=’ argument ‘-Werror=implicit-function-declaration’ is not valid for C++ cc1plus: warning: ‘-Werror=’ argument ‘-Werror=implicit-function-declaration’ is not valid for C++ cc1plus: warning: ‘-Werror=’ argument ‘-Werror=implicit-function-declaration’ is not valid for C++ cc1plus: warning: ‘-Werror=’ argument ‘-Werror=implicit-function-declaration’ is not valid for C++ cc1plus: warning: ‘-Werror=’ argument ‘-Werror=implicit-function-declaration’ is not valid for C++ /usr/bin/aarch64-linux-gnu-ld.bfd: main.o: in function `main': ././main.cc:77:(.text.startup+0x78): undefined reference to `_Z4corePct' collect2: error: ld returned 1 exit status make[1]: *** [debian/rules:10: override_dh_auto_build] Error 1 make[1]: Leaving directory '/build/reproducible-path/qmc-0.94' make: *** [debian/rules:7: binary] Error 2 dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2