Bug#1098176: xvidcore: ftbfs with GCC-15
Package: src:xvidcore
Version: 2:1.3.7-1
Severity: important
Tags: sid forky
User: debian-gcc@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/xvidcore_1.3.7-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
[...]
decoder.o encoder.o xvid.o bitstream/bitstream.o bitstream/cbp.o bitstream/mbcoding.o dct/fdct.o dct/idct.o dct/simple_idct.o image/colorspace.o image/image.o image/interpolate8x8.o image/font.o image/postprocessing.o image/qpel.o image/reduced.o motion/estimation_bvop.o motion/estimation_common.o motion/estimation_gmc.o motion/estimation_pvop.o motion/estimation_rd_based.o motion/estimation_rd_based_bvop.o motion/gmc.o motion/motion_comp.o motion/vop_type_decision.o motion/sad.o prediction/mbprediction.o plugins/plugin_single.o plugins/plugin_2pass1.o plugins/plugin_2pass2.o plugins/plugin_lumimasking.o plugins/plugin_dump.o plugins/plugin_psnr.o plugins/plugin_ssim.o plugins/plugin_psnrhvsm.o quant/quant_h263.o quant/quant_matrix.o quant/quant_mpeg.o utils/emms.o utils/mbtransquant.o utils/mem_align.o utils/mem_transfer.o utils/timer.o bitstream/x86_asm/cbp_mmx.o bitstream/x86_asm/cbp_sse2.o dct/x86_asm/fdct_mmx_ffmpeg.o dct/x86_asm/fdct_mmx_skal.o dct/x86_asm/fdct_sse2_skal.o dct/
x86_asm/idct_3dne.o dct/x86_asm/idct_mmx.o dct/x86_asm/idct_sse2_dmitry.o image/x86_asm/colorspace_rgb_mmx.o image/x86_asm/colorspace_yuv_mmx.o image/x86_asm/colorspace_yuyv_mmx.o image/x86_asm/interpolate8x8_3dn.o image/x86_asm/interpolate8x8_3dne.o image/x86_asm/interpolate8x8_mmx.o image/x86_asm/interpolate8x8_xmm.o image/x86_asm/postprocessing_mmx.o image/x86_asm/postprocessing_sse2.o image/x86_asm/reduced_mmx.o image/x86_asm/qpel_mmx.o image/x86_asm/gmc_mmx.o image/x86_asm/deintl_sse.o motion/x86_asm/sad_xmm.o motion/x86_asm/sad_sse2.o motion/x86_asm/sad_mmx.o motion/x86_asm/sad_3dne.o motion/x86_asm/sad_3dn.o quant/x86_asm/quantize_h263_mmx.o quant/x86_asm/quantize_h263_3dne.o quant/x86_asm/quantize_mpeg_xmm.o quant/x86_asm/quantize_mpeg_mmx.o utils/x86_asm/mem_transfer_mmx.o utils/x86_asm/mem_transfer_3dne.o utils/x86_asm/interlacing_mmx.o utils/x86_asm/cpuid.o plugins/x86_asm/plugin_ssim-a.o
CFLAGS=-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/xvidcore-1.3.7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2
Shared library: libxvidcore.so.4.3
Include Directory: /usr/include
C: bitstream/bitstream.c
Static library: libxvidcore.a
C: bitstream/cbp.c
Library Directory: /usr/lib/x86_64-linux-gnu
C: bitstream/mbcoding.c
C: dct/fdct.c
C: dct/idct.c
In file included from ../../src/bitstream/bitstream.h:31,
from ../../src/decoder.c:40:
../../src/bitstream/../encoder.h:45:13: error: ‘bool’ cannot be defined via ‘typedef’
45 | typedef int bool;
| ^~~~
../../src/bitstream/../encoder.h:45:13: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
../../src/bitstream/../encoder.h:45:1: warning: useless type name in empty declaration
45 | typedef int bool;
| ^~~~~~~
In file included from ../../src/bitstream/bitstream.h:31,
from ../../src/bitstream/bitstream.c:30:
../../src/bitstream/../encoder.h:45:13: error: ‘bool’ cannot be defined via ‘typedef’
45 | typedef int bool;
| ^~~~
../../src/bitstream/../encoder.h:45:13: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
../../src/bitstream/../encoder.h:45:1: warning: useless type name in empty declaration
45 | typedef int bool;
| ^~~~~~~
In file included from ../../src/bitstream/bitstream.h:31,
from ../../src/bitstream/mbcoding.c:32:
../../src/bitstream/../encoder.h:45:13: error: ‘bool’ cannot be defined via ‘typedef’
45 | typedef int bool;
| ^~~~
../../src/bitstream/../encoder.h:45:13: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
../../src/bitstream/../encoder.h:45:1: warning: useless type name in empty declaration
45 | typedef int bool;
| ^~~~~~~
In file included from ../../src/xvid.c:54:
../../src/encoder.h:45:13: error: ‘bool’ cannot be defined via ‘typedef’
45 | typedef int bool;
| ^~~~
../../src/encoder.h:45:13: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
../../src/encoder.h:45:1: warning: useless type name in empty declaration
45 | typedef int bool;
| ^~~~~~~
In file included from ../../src/encoder.c:33:
../../src/encoder.h:45:13: error: ‘bool’ cannot be defined via ‘typedef’
45 | typedef int bool;
| ^~~~
../../src/encoder.h:45:13: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
../../src/encoder.h:45:1: warning: useless type name in empty declaration
45 | typedef int bool;
| ^~~~~~~
C: dct/simple_idct.c
make[1]: *** [Makefile:108: bitstream/bitstream.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [Makefile:108: xvid.o] Error 1
make[1]: *** [Makefile:108: bitstream/mbcoding.o] Error 1
make[1]: *** [Makefile:108: decoder.o] Error 1
make[1]: *** [Makefile:108: encoder.o] Error 1
make[1]: Leaving directory '/build/reproducible-path/xvidcore-1.3.7/build/generic'
dh_auto_build: error: cd build/generic && make -j8 returned exit code 2
make: *** [debian/rules:23: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
Reply to: