Bug#1133647: texlive-bin: ftbfs with GCC-16
Emanuele Rocca <[email protected]> Mon, 13 Apr 2026 15:11:49 +0200
| Newsgroups | gmane.linux.debian.devel.tetex |
|---|---|
| Message-ID | <[email protected]> |
Package: src:texlive-bin Version: 2025.20250727.75242+ds-5 Severity: important Tags: sid forky ftbfs User: [email protected] Usertags: ftbfs-gcc-16 Hi, texlive-bin 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/texlive-bin_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. [...] 2359 | return doAppend(internal::toU16StringView(src)); | ^~~~~~~~~~~~~~~ /usr/include/unicode/unistr.h: In constructor ‘icu_78::UnicodeString::UnicodeString(const S&)’: /usr/include/unicode/unistr.h:3340:24: error: ‘toU16StringViewNullable’ is not a member of ‘icu_78::internal’ [-Wtemplate-body] 3340 | doAppend(internal::toU16StringViewNullable(text)); | ^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/unicode/unistr.h: In static member function ‘static icu_78::UnicodeString icu_78::UnicodeString::readOnlyAlias(const S&)’: /usr/include/unicode/unistr.h:3663:53: error: ‘toU16StringView’ is not a member of ‘icu_78::internal’ [-Wtemplate-body] 3663 | return readOnlyAliasFromU16StringView(internal::toU16StringView(text)); | ^~~~~~~~~~~~~~~ /usr/include/unicode/unistr.h: At global scope: /usr/include/unicode/unistr.h:4178:21: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type 4178 | typename = std::enable_if_t<ConvertibleToU16StringView<S> && std::is_same_v<US, UnicodeString>>> | ^~~~~~~~~~~ /usr/include/unicode/unistr.h:4178:16: note: ‘std::enable_if_t’ is only available from C++14 onwards 4178 | typename = std::enable_if_t<ConvertibleToU16StringView<S> && std::is_same_v<US, UnicodeString>>> | ^~~ /usr/include/unicode/unistr.h:4178:32: error: expected ‘>’ before ‘<’ token 4178 | typename = std::enable_if_t<ConvertibleToU16StringView<S> && std::is_same_v<US, UnicodeString>>> | ^ /usr/include/unicode/unistr.h: In function ‘icu_78::UnicodeString icu_78::operator+(const US&, const S&)’: /usr/include/unicode/unistr.h:4180:46: error: ‘toU16StringView’ is not a member of ‘icu_78::internal’ [-Wtemplate-body] 4180 | return unistr_internalConcat(s1, internal::toU16StringView(s2)); | ^~~~~~~~~~~~~~~ /usr/include/unicode/unistr.h: At global scope: /usr/include/unicode/unistr.h:4186:53: error: ‘std::u16string_view’ has not been declared; did you mean ‘std::u16string’? 4186 | unistr_internalConcat(const UnicodeString &s1, std::u16string_view s2); | ^~~~~~~~~~~~~~ /usr/include/unicode/utext.h:1596:1: note: invalid template non-type parameter 1596 | U_DEFINE_LOCAL_OPEN_POINTER(LocalUTextPointer, UText, utext_close); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../../texk/web2c/xetexdir/XeTeXLayoutInterface.cpp: In function ‘unsigned int countFeatures(XeTeXFont, hb_tag_t, hb_tag_t)’: ../../../texk/web2c/xetexdir/XeTeXLayoutInterface.cpp:338:50: warning: ‘hb_bool_t hb_ot_layout_script_find_language(hb_face_t*, hb_tag_t, unsigned int, hb_tag_t, unsigned int*)’ is deprecated: Use 'hb_ot_layout_script_select_language' instead [-Wdeprecated-declarations] 338 | if (hb_ot_layout_script_find_language(face, tableTag, scriptIndex, language, &langIndex) || language == 0) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/harfbuzz/hb-ot.h:34, from ../../../texk/web2c/xetexdir/XeTeXLayoutInterface.cpp:47: /usr/include/harfbuzz/hb-ot-deprecated.h:80:1: note: declared here 80 | hb_ot_layout_script_find_language (hb_face_t *face, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../../texk/web2c/xetexdir/XeTeXLayoutInterface.cpp: In function ‘hb_tag_t getIndFeature(XeTeXFont, hb_tag_t, hb_tag_t, unsigned int)’: ../../../texk/web2c/xetexdir/XeTeXLayoutInterface.cpp:358:50: warning: ‘hb_bool_t hb_ot_layout_script_find_language(hb_face_t*, hb_tag_t, unsigned int, hb_tag_t, unsigned int*)’ is deprecated: Use 'hb_ot_layout_script_select_language' instead [-Wdeprecated-declarations] 358 | if (hb_ot_layout_script_find_language(face, tableTag, scriptIndex, language, &langIndex) || language == 0) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/harfbuzz/hb-ot-deprecated.h:80:1: note: declared here 80 | hb_ot_layout_script_find_language (hb_face_t *face, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../../texk/web2c/xetexdir/XeTeXLayoutInterface.cpp: In function ‘bool initGraphiteBreaking(XeTeXLayoutEngine, const uint16_t*, int)’: ../../../texk/web2c/xetexdir/XeTeXLayoutInterface.cpp:943:52: warning: ‘gr_font* hb_graphite2_font_get_gr_font(hb_font_t*)’ is deprecated: Use 'hb_graphite2_face_get_gr_face' instead [-Wdeprecated-declarations] 943 | gr_font* grFont = hb_graphite2_font_get_gr_font(engine->font->getHbFont()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ../../../texk/web2c/xetexdir/XeTeXLayoutInterface.cpp:43: /usr/include/harfbuzz/hb-graphite2.h:54:1: note: declared here 54 | hb_graphite2_font_get_gr_font (hb_font_t *font); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ make[6]: *** [Makefile:18786: xetexdir/libxetex_a-XeTeXLayoutInterface.o] Error 1 make[6]: *** Waiting for unfinished jobs.... make[6]: Leaving directory '/build/reproducible-path/texlive-bin-2025.20250727.75242+ds/Work/texk/web2c' make[5]: *** [Makefile:19180: all-recursive] Error 1 make[5]: Leaving directory '/build/reproducible-path/texlive-bin-2025.20250727.75242+ds/Work/texk/web2c' make[4]: *** [Makefile:5708: all] Error 2 make[4]: Leaving directory '/build/reproducible-path/texlive-bin-2025.20250727.75242+ds/Work/texk/web2c' make[3]: *** [Makefile:887: recurse] Error 1 make[3]: Leaving directory '/build/reproducible-path/texlive-bin-2025.20250727.75242+ds/Work/texk' make[2]: *** [Makefile:451: all-recursive] Error 1 make[2]: Leaving directory '/build/reproducible-path/texlive-bin-2025.20250727.75242+ds/Work/texk' make[1]: *** [Makefile:545: all-recursive] Error 1 make[1]: Leaving directory '/build/reproducible-path/texlive-bin-2025.20250727.75242+ds/Work' dh_auto_build: error: cd Work && make -j8 returned exit code 2 make: *** [debian/rules:85: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2