#1133632 speech-tools: ftbfs with GCC-16

#1133632#5
Date:
2026-04-13 13:11:07 UTC
From:
To:
Hi,

speech-tools 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/speech-tools_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.

[...]


aarch64-linux-gnu-g++ -fno-delete-null-pointer-checks -c -g -O2 -ffile-prefix-map=/build/reproducible-path/speech-tools-2.5.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fopenmp -DOMP_WAGON=1 -g -O3 -fPIC -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -fopenmp -DOMP_WAGON=1 -g -O3 -fPIC -Wall -I../include EST_relation_track.cc
aarch64-linux-gnu-g++ -fno-delete-null-pointer-checks -c -g -O2 -ffile-prefix-map=/build/reproducible-path/speech-tools-2.5.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fopenmp -DOMP_WAGON=1 -g -O3 -fPIC -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -fopenmp -DOMP_WAGON=1 -g -O3 -fPIC -Wall -I../include relation_io.cc
aarch64-linux-gnu-g++ -fno-delete-null-pointer-checks -c -g -O2 -ffile-prefix-map=/build/reproducible-path/speech-tools-2.5.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fopenmp -DOMP_WAGON=1 -g -O3 -fPIC -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -fopenmp -DOMP_WAGON=1 -g -O3 -fPIC -Wall -I../include EST_relation_compare.cc
aarch64-linux-gnu-g++ -fno-delete-null-pointer-checks -c -g -O2 -ffile-prefix-map=/build/reproducible-path/speech-tools-2.5.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fopenmp -DOMP_WAGON=1 -g -O3 -fPIC -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -fopenmp -DOMP_WAGON=1 -g -O3 -fPIC -Wall -I../include standard_feature_functions.cc
aarch64-linux-gnu-g++ -fno-delete-null-pointer-checks -c -g -O2 -ffile-prefix-map=/build/reproducible-path/speech-tools-2.5.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fopenmp -DOMP_WAGON=1 -g -O3 -fPIC -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -fopenmp -DOMP_WAGON=1 -g -O3 -fPIC -Wall -I../include EST_Relation_mls.cc
aarch64-linux-gnu-g++ -fno-delete-null-pointer-checks -c -g -O2 -ffile-prefix-map=/build/reproducible-path/speech-tools-2.5.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fopenmp -DOMP_WAGON=1 -g -O3 -fPIC -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -fopenmp -DOMP_WAGON=1 -g -O3 -fPIC -Wall -I../include EST_item_aux.cc
aarch64-linux-gnu-g++ -fno-delete-null-pointer-checks -c -g -O2 -ffile-prefix-map=/build/reproducible-path/speech-tools-2.5.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fopenmp -DOMP_WAGON=1 -g -O3 -fPIC -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -fopenmp -DOMP_WAGON=1 -g -O3 -fPIC -Wall -I../include EST_item_content_aux.cc
aarch64-linux-gnu-g++ -fno-delete-null-pointer-checks -c -g -O2 -ffile-prefix-map=/build/reproducible-path/speech-tools-2.5.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fopenmp -DOMP_WAGON=1 -g -O3 -fPIC -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -fopenmp -DOMP_WAGON=1 -g -O3 -fPIC -Wall -I../include EST_Relation.cc
aarch64-linux-gnu-g++ -fno-delete-null-pointer-checks -c -g -O2 -ffile-prefix-map=/build/reproducible-path/speech-tools-2.5.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fopenmp -DOMP_WAGON=1 -g -O3 -fPIC -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -fopenmp -DOMP_WAGON=1 -g -O3 -fPIC -Wall -I../include -DINSTANTIATE_TEMPLATES -DINCLUDE_XML_FORMATS EST_UtteranceFile.cc
EST_UtteranceFile.cc: In static member function ‘static EST_write_status EST_UtteranceFile::save_est_ascii(std::ostream&, const EST_Utterance&)’:
EST_UtteranceFile.cc:279:13: error: reference to ‘relation’ is ambiguous
  279 |         v = relation(p->v)->save(outf,sinames);
      |             ^~~~~~~~
  • there are 2 candidates
In file included from /usr/include/c++/16/compare:44,
                 from /usr/include/c++/16/bits/char_traits.h:58,
                 from /usr/include/c++/16/ios:44,
                 from /usr/include/c++/16/bits/ostream.h:43,
                 from /usr/include/c++/16/ostream:42,
                 from /usr/include/c++/16/iostream:43,
                 from EST_UtteranceFile.cc:42:
    • candidate 1: ‘template<class _Rel, class _Tp, class _Up> concept std::relation’
      /usr/include/c++/16/concepts:396:13:
        396 |     concept relation
            |             ^~~~~~~~
In file included from ../include/EST_Val.h:54,
                 from ../include/EST_FMatrix.h:47,
                 from ../include/EST_types.h:47,
                 from ../include/EST_string_aux.h:45,
                 from EST_UtteranceFile.cc:44:
    • candidate 2: ‘EST_Relation* relation(const EST_Val&)’
      ../include/ling_class/EST_Relation.h:203:25:
        203 | VAL_REGISTER_CLASS_DCLS(relation,EST_Relation)
            |                         ^~~~~~~~
    • in definition of macro ‘VAL_REGISTER_CLASS_DCLS’
         46 | class CLASS *NAME(const EST_Val &v);                   \
            |              ^~~~
EST_UtteranceFile.cc: In function ‘EST_write_status utt_save_all_contents(std::ostream&, const EST_Utterance&, EST_TKVL<void*, int>&)’:
EST_UtteranceFile.cc:303:40: error: reference to ‘relation’ is ambiguous
  303 |         v = utt_save_all_contents(outf,relation(p->v)->head(),
      |                                        ^~~~~~~~
  • there are 2 candidates
    • candidate 1: ‘template<class _Rel, class _Tp, class _Up> concept std::relation’
      /usr/include/c++/16/concepts:396:13:
        396 |     concept relation
            |             ^~~~~~~~
    • candidate 2: ‘EST_Relation* relation(const EST_Val&)’
      ../include/ling_class/EST_Relation.h:203:25:
        203 | VAL_REGISTER_CLASS_DCLS(relation,EST_Relation)
            |                         ^~~~~~~~
    • in definition of macro ‘VAL_REGISTER_CLASS_DCLS’
         46 | class CLASS *NAME(const EST_Val &v);                   \
            |              ^~~~
EST_UtteranceFile.cc: In static member function ‘static EST_read_status EST_UtteranceFile::load_apml(EST_TokenStream&, EST_Utterance&, int&)’:
EST_UtteranceFile.cc:426:8: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  426 |   fgets(buf, 80, stream);
      |   ~~~~~^~~~~~~~~~~~~~~~~
EST_UtteranceFile.cc:431:8: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  431 |   fgets(buf, 80, stream);
      |   ~~~~~^~~~~~~~~~~~~~~~~
EST_UtteranceFile.cc: In static member function ‘static EST_read_status EST_UtteranceFile::load_genxml(EST_TokenStream&, EST_Utterance&, int&)’:
EST_UtteranceFile.cc:464:8: warning: ignoring return value of ‘char* fgets(char*, int, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  464 |   fgets(buf, 80, stream);
      |   ~~~~~^~~~~~~~~~~~~~~~~
make[3]: *** [Makefile:71: EST_UtteranceFile.o] Error 1
make[2]: *** [config/rules/targets.mak:57: ling_class] Error 2
make[2]: Leaving directory '/build/reproducible-path/speech-tools-2.5.0'
make[1]: *** [debian/rules:20: override_dh_auto_build-arch] Error 2
make[1]: Leaving directory '/build/reproducible-path/speech-tools-2.5.0'
make: *** [debian/rules:67: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2

#1133632#14
Date:
2026-08-01 21:06:20 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
speech-tools, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1133632@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Samuel Thibault <sthibault@debian.org> (supplier of updated speech-tools package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Sat, 01 Aug 2026 22:52:28 +0200
Source: speech-tools
Architecture: source
Version: 1:2.5.0-15
Distribution: unstable
Urgency: medium
Maintainer: Debian Accessibility Team <pkg-a11y-devel@alioth-lists.debian.net>
Changed-By: Samuel Thibault <sthibault@debian.org>
Closes: 1133632
Changes:
 speech-tools (1:2.5.0-15) unstable; urgency=medium
 .
   [ Kumar Appaiah ]
   * Remove myself from uploaders
 .
   [ Samuel Thibault ]
   * tests/tests: Check that if patch can't be applied, it's because it's
     already applied.
   * rules: Limit to g++-14 standard to avoid confusion over relation() when
     building with g++ 16 (Closes: Bug#1133632)
Checksums-Sha1:
 974b1b7d2efdd174e7234cab29c3534acf386ca0 2411 speech-tools_2.5.0-15.dsc
 6ca59bfd68eea874c1cef02f6a3ff71b681509b2 43328 speech-tools_2.5.0-15.debian.tar.xz
 f6a72b14b8f2fe8315cfbc2f227843b68912934b 14943 speech-tools_2.5.0-15_source.buildinfo
Checksums-Sha256:
 4bdf35485bb1e7cf7f7b0f8439bd17b40194d60e0ed6b3b62118df7241e2fdea 2411 speech-tools_2.5.0-15.dsc
 97b3fcf79ed3d27b58a783374a4c28e443917ca8eea7ae93a0a6af11466bcf64 43328 speech-tools_2.5.0-15.debian.tar.xz
 08f86e79f0c897c7e26e1cf6b8c68352b9b583578cb38d85fc257221a3a477cb 14943 speech-tools_2.5.0-15_source.buildinfo
Files:
 208596e967e6cce3309ee91b1b9587b1 2411 sound optional speech-tools_2.5.0-15.dsc
 63f25b72a189d2011730fa4ab72e7c54 43328 sound optional speech-tools_2.5.0-15.debian.tar.xz
 41bb6e2520ea1312d9c3e7d555f951fc 14943 sound optional speech-tools_2.5.0-15_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEqpLrvfAUiqYaQ7iu5IlMrEVBS7AFAmpuXQkACgkQ5IlMrEVB
S7C5fQ//cCTO2btU7uFD1hVitSnTtAc7wzX932FfH74uJpjXFj090aSWonpgf9pn
G/dm/XFVWAwTV7PbnypO7/o9KTPUTDjblaLThb2QnXXxZTBNdE7NBwOCcLteLSyv
X7sYhDcQfAnO5F1v2nx8lnMP9KsbmSei9i+M6zHThKpvO/N448r+OwTBsdSVZbml
SDVcJstkd1+yMdhPAj6GmhUqEipOhtF6nvwnAG6c6bG2dLPBpfFtHznHv+1xv8gx
AcmC1OsV/4I5VntyQdm9a415P4gPPG6mfu41CFLQPHqJ+oFttXhjwFucoRzi/Ll0
V+7qWyB20QffTy83NBugu6Fix9EX7imDdnaHT8W6rF/kX+PK4vkBeFwRLiAYkJPC
cHJUPhf42sRB3o7nRSACE14P6mu167QlXlPS22q6Lwc3vNCnbqGjCdO39NBGpsy8
m6r81qk1bbOlPhh9AOz+2dWDIQo0HnHa3pihQR3HXfJZhFrRzJvEe78KNyEcOFND
lLPRt7g9C9EA6vcK2vVlP0S5IGwXpxT36rw24+9daUq5CHVUmgPuDCu/yeKm0p02
+3I0IX9f6PUcJtkyKGjN3a9028ae8N6NZXtmX9ou+lhGiUEOAkELDrifn4+ucbav
3YxPNsqWf0zEB4h5ClbL44VSV83j5BP6jdKfs3yadibxJ66eTsg=
=nYRu
-----END PGP SIGNATURE-----