Bug#1097625: pnm2ppa: ftbfs with GCC-15
Package: src:pnm2ppa
Version: 1.13-13
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/pnm2ppa_1.13-13_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
[...]
../ppa.c:478:40: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
478 | if (compressed_len > final_len)
| ^
../ppa.c:485:24: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
485 | if (compressed_len > final_len)
| ^
make[3]: *** [Makefile:627: dither.o] Error 1
../cutswath.c: In function ‘read_black_image’:
../cutswath.c:780:34: warning: variable ‘after_color’ set but not used [-Wunused-but-set-variable]
780 | BOOLEAN got_nonblank = false, after_color = false, ignore_color = false;
| ^~~~~~~~~~~
../cutswath.c: In function ‘r2l_black_sweep’:
../cutswath.c:1080:32: warning: variable ‘oddlines’ set but not used [-Wunused-but-set-variable]
1080 | int i, j , width, evenlines, oddlines;
| ^~~~~~~~
../ppa.c: In function ‘ppa_print_sweep’:
../ppa.c:670:10: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
670 | i < nozzle_data_size; i++, pc += 16) {
| ^
../cutswath.c: In function ‘l2r_black_sweep’:
../cutswath.c:1219:32: warning: variable ‘oddlines’ set but not used [-Wunused-but-set-variable]
1219 | int i, j , width, evenlines, oddlines;
| ^~~~~~~~
make[3]: *** [Makefile:627: ppa.o] Error 1
../cutswath.c: In function ‘l2r_color_sweep’:
../cutswath.c:1931:32: warning: variable ‘oddlines’ set but not used [-Wunused-but-set-variable]
1931 | int i, j , width, evenlines, oddlines;
| ^~~~~~~~
../cutswath.c: In function ‘r2l_color_sweep’:
../cutswath.c:2154:32: warning: variable ‘oddlines’ set but not used [-Wunused-but-set-variable]
2154 | int i, j , width, evenlines, oddlines;
| ^~~~~~~~
In file included from ../pnm2ppa.c:34:
../global.h:30:3: error: cannot use keyword ‘false’ as enumeration constant
30 | { false = 0, true = 1 }
| ^~~~~
../global.h:30:3: note: ‘false’ is a keyword with ‘-std=c23’ onwards
In file included from ../gamma.c:26:
../global.h:30:3: error: cannot use keyword ‘false’ as enumeration constant
30 | { false = 0, true = 1 }
| ^~~~~
../global.h:30:3: note: ‘false’ is a keyword with ‘-std=c23’ onwards
In file included from ../image.c:29:
../global.h:30:3: error: cannot use keyword ‘false’ as enumeration constant
30 | { false = 0, true = 1 }
| ^~~~~
../global.h:30:3: note: ‘false’ is a keyword with ‘-std=c23’ onwards
../pnm2ppa.c: In function ‘print_pnm’:
../pnm2ppa.c:120:13: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
120 | fgets (line, 1024, fptr);
| ^~~~~~~~~~~~~~~~~~~~~~~~
../image.c: In function ‘remallocBuffer’:
../image.c:280:60: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
280 | if (image->bufpos + image->buflines * linesize + bytes < image->bufsize)
| ^
../image.c:294:64: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
294 | if (image->bufpos + image->buflines * linesize + bytes < image->bufsize)
| ^
make[3]: *** [Makefile:627: gamma.o] Error 1
make[3]: *** [Makefile:627: cutswath.o] Error 1
make[3]: *** [Makefile:627: pnm2ppa.o] Error 1
make[3]: *** [Makefile:627: image.o] Error 1
make[3]: Leaving directory '/build/reproducible-path/pnm2ppa-1.13/build'
make[2]: *** [Makefile:705: all-recursive] Error 1
make[2]: Leaving directory '/build/reproducible-path/pnm2ppa-1.13/build'
make[1]: *** [Makefile:495: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/pnm2ppa-1.13/build'
dh_auto_build: error: cd build && make -j8 returned exit code 2
make: *** [debian/rules:8: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
Reply to: