[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/yajl-tcl_1.8.1-1_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
[...]
checking whether make sets $(MAKE)... yes
checking for ranlib... ranlib
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking if the compiler understands -pipe... yes
checking whether byte ordering is bigendian... no
checking for Tcl public headers... /usr/include/tcl8.6
checking for pthread_mutex_init in -lpthread... yes
checking for building with threads... yes (default)
checking how to build libraries... shared
checking for ranlib... (cached) ranlib
checking if 64bit support is requested... no
checking if 64bit Sparc VIS support is requested... no
checking if compiler supports visibility "hidden"... yes
checking if rpath support is requested... yes
checking system version... (cached) Linux-6.1.0-28-cloud-amd64
checking for ar... ar
checking for cast to union support... yes
checking for stdbool.h... yes
checking for required early compiler flags... none
checking for 64-bit integer type... yes
checking for build with symbols... no
checking for egrep -e... /usr/bin/grep -E
checking for tclsh... /usr/bin/tclsh8.6
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for YAJL... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating pkgIndex.tcl
make[1]: Leaving directory '/build/reproducible-path/yajl-tcl-1.8.1'
dh_auto_build
make -j8
make[1]: Entering directory '/build/reproducible-path/yajl-tcl-1.8.1'
gcc -DPACKAGE_NAME=\"yajltcl\" -DPACKAGE_TARNAME=\"yajltcl\" -DPACKAGE_VERSION=\"1.8.1\" -DPACKAGE_STRING=\"yajltcl\ 1.8.1\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DBUILD_yajltcl=/\*\*/ -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DTcl_Size=int -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DUSE_TCL_STUBS=1 -DUSE_TCLOO_STUBS=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DHAVE_HIDDEN=1 -DHAVE_CAST_TO_UNION=1 -DHAVE_STDBOOL_H=1 -DTCL_WIDE_INT_IS_LONG=1 -DTCL_CFG_OPTIMIZED=1 -DUSE_TCL_STUBS=1 -DTCL_MAJOR_VERSION=8 -I"/usr/include/tcl8.6" -I/usr/include/yajl -I/usr/include/yajl /.. -I/usr/include/tcl -pipe -O2 -fomit-frame-pointer -DNDEBUG -Wall -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -c `echo ./generic/yajltcl.c` -o yajltcl.o
gcc -DPACKAGE_NAME=\"yajltcl\" -DPACKAGE_TARNAME=\"yajltcl\" -DPACKAGE_VERSION=\"1.8.1\" -DPACKAGE_STRING=\"yajltcl\ 1.8.1\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DBUILD_yajltcl=/\*\*/ -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DTcl_Size=int -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DUSE_TCL_STUBS=1 -DUSE_TCLOO_STUBS=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DHAVE_HIDDEN=1 -DHAVE_CAST_TO_UNION=1 -DHAVE_STDBOOL_H=1 -DTCL_WIDE_INT_IS_LONG=1 -DTCL_CFG_OPTIMIZED=1 -DUSE_TCL_STUBS=1 -DTCL_MAJOR_VERSION=8 -I"/usr/include/tcl8.6" -I/usr/include/yajl -I/usr/include/yajl /.. -I/usr/include/tcl -pipe -O2 -fomit-frame-pointer -DNDEBUG -Wall -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -c `echo ./generic/tclyajltcl.c` -o tclyajltcl.o
gcc -DPACKAGE_NAME=\"yajltcl\" -DPACKAGE_TARNAME=\"yajltcl\" -DPACKAGE_VERSION=\"1.8.1\" -DPACKAGE_STRING=\"yajltcl\ 1.8.1\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DBUILD_yajltcl=/\*\*/ -DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1 -DTcl_Size=int -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DUSE_TCL_STUBS=1 -DUSE_TCLOO_STUBS=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DHAVE_HIDDEN=1 -DHAVE_CAST_TO_UNION=1 -DHAVE_STDBOOL_H=1 -DTCL_WIDE_INT_IS_LONG=1 -DTCL_CFG_OPTIMIZED=1 -DUSE_TCL_STUBS=1 -DTCL_MAJOR_VERSION=8 -I"/usr/include/tcl8.6" -I/usr/include/yajl -I/usr/include/yajl /.. -I/usr/include/tcl -pipe -O2 -fomit-frame-pointer -DNDEBUG -Wall -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -c `echo ./generic/yajltcllex.c` -o yajltcllex.o
./generic/yajltcl.c: In function ‘yajltcl_yajlObjectObjCmd’:
./generic/yajltcl.c:919:19: error: ‘bool’ cannot be used here
919 | int bool;
| ^~~~
./generic/yajltcl.c:919:19: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
./generic/yajltcl.c:919:15: warning: useless type name in empty declaration
919 | int bool;
| ^~~
./generic/yajltcl.c:926:64: error: expected expression before ‘bool’
926 | if (Tcl_GetBooleanFromObj (interp, objv[++arg], &bool) == TCL_ERROR) {
| ^~~~
./generic/yajltcl.c:930:46: error: expected expression before ‘bool’
930 | gstatus = yajl_gen_bool (hand, bool);
| ^~~~
./generic/yajltcl.c: In function ‘yajltcl_yajlObjCmd’:
./generic/yajltcl.c:1157:1: warning: old-style function definition [-Wold-style-definition]
1157 | yajltcl_yajlObjCmd(clientData, interp, objc, objv)
| ^~~~~~~~~~~~~~~~~~
make[1]: *** [Makefile:291: yajltcl.o] Error 1
make[1]: *** Waiting for unfinished jobs....
gcc: warning: /..: linker input file unused because linking not done
gcc: warning: /..: linker input file unused because linking not done
make[1]: Leaving directory '/build/reproducible-path/yajl-tcl-1.8.1'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:9: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2