Bug#1133647: texlive-bin: ftbfs with GCC-16
Package: src:texlive-bin
Version: 2025.20250727.75242+ds-5
Severity: important
Tags: sid forky ftbfs
User: debian-gcc@lists.debian.org
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
Reply to: