Package: src:graphite2 Version: 1.3.14-2 Severity: important Tags: sid forky User: debian-...@lists.debian.org Usertags: ftbfs-gcc-15
[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/graphite2_1.3.14-2_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 [...] 110 | table = {_ttf.data() + tbl_offset, tbl_len}; | ^ /build/reproducible-path/graphite2-1.3.14/tests/featuremap/featuremaptest.cpp:110:53: note: there are 4 candidates In file included from /usr/include/c++/15/bits/stl_algobase.h:64, from /usr/include/c++/15/string:53, from /usr/include/c++/15/bits/locale_classes.h:42, from /usr/include/c++/15/bits/ios_base.h:43, from /usr/include/c++/15/ios:46, from /usr/include/c++/15/istream:42, from /usr/include/c++/15/fstream:42, from /build/reproducible-path/graphite2-1.3.14/tests/featuremap/featuremaptest.cpp:24: /usr/include/c++/15/bits/stl_pair.h:948:9: note: candidate 1: ‘template<class _U1, class _U2> typename std::enable_if<std::__and_<std::is_assignable<_T1&, const _U1&>, std::is_assignable<_T2&, const _U2&> >::value, std::pair<_T1, _T2>&>::type std::pair<_T1, _T2>::operator=(const std::pair<_U1, _U2>&) [with _U2 = _U1; _T1 = const void*; _T2 = long unsigned int]’ 948 | operator=(const pair<_U1, _U2>& __p) | ^~~~~~~~ /usr/include/c++/15/bits/stl_pair.h:948:9: note: template argument deduction/substitution failed: /build/reproducible-path/graphite2-1.3.14/tests/featuremap/featuremaptest.cpp:110:53: note: couldn’t deduce template parameter ‘_U1’ 110 | table = {_ttf.data() + tbl_offset, tbl_len}; | ^ /usr/include/c++/15/bits/stl_pair.h:959:9: note: candidate 2: ‘template<class _U1, class _U2> typename std::enable_if<std::__and_<std::is_assignable<_T1&, _U1&&>, std::is_assignable<_T2&, _U2&&> >::value, std::pair<_T1, _T2>&>::type std::pair<_T1, _T2>::operator=(std::pair<_U1, _U2>&&) [with _U2 = _U1; _T1 = const void*; _T2 = long unsigned int]’ 959 | operator=(pair<_U1, _U2>&& __p) | ^~~~~~~~ /usr/include/c++/15/bits/stl_pair.h:959:9: note: template argument deduction/substitution failed: /build/reproducible-path/graphite2-1.3.14/tests/featuremap/featuremaptest.cpp:110:53: note: couldn’t deduce template parameter ‘_U1’ 110 | table = {_ttf.data() + tbl_offset, tbl_len}; | ^ /usr/include/c++/15/bits/stl_pair.h:923:7: note: candidate 3: ‘std::pair<_T1, _T2>& std::pair<_T1, _T2>::operator=(std::__conditional_t<((bool)std::__and_<std::is_copy_assignable<_T1>, std::is_copy_assignable<_T2> >::value), const std::pair<_T1, _T2>&, const std::__nonesuch&>) [with _T1 = const void*; _T2 = long unsigned int; std::__conditional_t<((bool)std::__and_<std::is_copy_assignable<_T1>, std::is_copy_assignable<_T2> >::value), const std::pair<_T1, _T2>&, const std::__nonesuch&> = const std::pair<const void*, long unsigned int>&]’ 923 | operator=(__conditional_t<__and_<is_copy_assignable<_T1>, | ^~~~~~~~ /usr/include/c++/15/bits/stl_pair.h:925:65: note: no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘std::__conditional_t<true, const std::pair<const void*, long unsigned int>&, const std::__nonesuch&>’ {aka ‘const std::pair<const void*, long unsigned int>&’} 923 | operator=(__conditional_t<__and_<is_copy_assignable<_T1>, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 924 | is_copy_assignable<_T2>>::value, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 925 | const pair&, const __nonesuch&> __p) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/bits/stl_pair.h:933:7: note: candidate 4: ‘std::pair<_T1, _T2>& std::pair<_T1, _T2>::operator=(std::__conditional_t<((bool)std::__and_<std::is_move_assignable<_Tp>, std::is_move_assignable<_T2> >::value), std::pair<_T1, _T2>&&, std::__nonesuch&&>) [with _T1 = const void*; _T2 = long unsigned int; std::__conditional_t<((bool)std::__and_<std::is_move_assignable<_Tp>, std::is_move_assignable<_T2> >::value), std::pair<_T1, _T2>&&, std::__nonesuch&&> = std::pair<const void*, long unsigned int>&&]’ 933 | operator=(__conditional_t<__and_<is_move_assignable<_T1>, | ^~~~~~~~ /usr/include/c++/15/bits/stl_pair.h:935:55: note: no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘std::__conditional_t<true, std::pair<const void*, long unsigned int>&&, std::__nonesuch&&>’ {aka ‘std::pair<const void*, long unsigned int>&&’} 933 | operator=(__conditional_t<__and_<is_move_assignable<_T1>, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 934 | is_move_assignable<_T2>>::value, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 935 | pair&&, __nonesuch&&> __p) | ~~~~~~~~~~~~~~~~~~~~~~^~~ /build/reproducible-path/graphite2-1.3.14/tests/featuremap/featuremaptest.cpp: In function ‘void testFeatTable(const T&, const std::string&)’: /build/reproducible-path/graphite2-1.3.14/tests/featuremap/featuremaptest.cpp:310:14: error: ‘uint16_t’ was not declared in this scope [-Wtemplate-body] 310 | for (uint16_t j = 0; j < table.m_defs[i].m_numFeatSettings; j++) | ^~~~~~~~ /build/reproducible-path/graphite2-1.3.14/tests/featuremap/featuremaptest.cpp:310:14: note: ‘uint16_t’ is defined in header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’ /build/reproducible-path/graphite2-1.3.14/tests/featuremap/featuremaptest.cpp:310:30: error: ‘j’ was not declared in this scope [-Wtemplate-body] 310 | for (uint16_t j = 0; j < table.m_defs[i].m_numFeatSettings; j++) | ^ make[3]: *** [tests/featuremap/CMakeFiles/featuremaptest.dir/build.make:82: tests/featuremap/CMakeFiles/featuremaptest.dir/featuremaptest.cpp.o] Error 1 make[3]: Leaving directory '/build/reproducible-path/graphite2-1.3.14/build' make[2]: *** [CMakeFiles/Makefile2:741: tests/featuremap/CMakeFiles/featuremaptest.dir/all] Error 2 make[2]: *** Waiting for unfinished jobs.... [ 94%] Linking CXX static library libvm-test-common.a cd /build/reproducible-path/graphite2-1.3.14/build/tests/vm && /usr/bin/cmake -P CMakeFiles/vm-test-common.dir/cmake_clean_target.cmake cd /build/reproducible-path/graphite2-1.3.14/build/tests/vm && /usr/bin/cmake -E cmake_link_script CMakeFiles/vm-test-common.dir/link.txt --verbose=1 /usr/bin/ar qc libvm-test-common.a "CMakeFiles/vm-test-common.dir/basic_test.cpp.o" /usr/bin/ranlib libvm-test-common.a make[3]: Leaving directory '/build/reproducible-path/graphite2-1.3.14/build' [ 94%] Built target vm-test-common make[2]: Leaving directory '/build/reproducible-path/graphite2-1.3.14/build' make[1]: *** [Makefile:149: all] Error 2 make[1]: Leaving directory '/build/reproducible-path/graphite2-1.3.14/build' dh_auto_build: error: cd build && make -j8 "INSTALL=install --strip-program=true" VERBOSE=1 returned exit code 2 make: *** [debian/rules:7: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2