Bug#1097863: scsitools: ftbfs with GCC-15
Package: src:scsitools
Version: 0.12-6
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/scsitools_0.12-6_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 /usr/src/linux/drivers/scsi/scsi.h usability... no
checking /usr/src/linux/drivers/scsi/scsi.h presence... no
checking for /usr/src/linux/drivers/scsi/scsi.h... no
checking scsi/sg.h usability... yes
checking scsi/sg.h presence... yes
checking for scsi/sg.h... yes
checking for a BSD-compatible install... /usr/bin/install -c
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
make[2]: Entering directory '/build/reproducible-path/scsitools-0.12/scsidev'
gcc -g -O2 -Wall -fsigned-char -Wall -DVERSION=\"2.37\" -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -o scsidev scsidev.c
scsidev.c: In function ‘getscsihostname’:
scsidev.c:1089:34: warning: the address of ‘hostname’ will always evaluate as ‘true’ [-Waddress]
1089 | spnt->hostname = hostname? strdup (hostname): 0;
| ^
scsidev.c: In function ‘sysfs_fopen_pattern’:
scsidev.c:2031:16: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
2031 | while (dent = readdir(dir)) {
| ^~~~
scsidev.c: In function ‘try_procscsi’:
scsidev.c:2281:9: error: too many arguments to function ‘build_sgdevlist_procscsi’; expected 0, have 1
2281 | build_sgdevlist_procscsi(0);
| ^~~~~~~~~~~~~~~~~~~~~~~~ ~
scsidev.c:2120:6: note: declared here
2120 | void build_sgdevlist_procscsi ()
| ^~~~~~~~~~~~~~~~~~~~~~~~
scsidev.c: In function ‘find_sysfs’:
scsidev.c:2297:9: error: too many arguments to function ‘build_sgdevlist_procscsi’; expected 0, have 1
2297 | build_sgdevlist_procscsi(1);
| ^~~~~~~~~~~~~~~~~~~~~~~~ ~
scsidev.c:2120:6: note: declared here
2120 | void build_sgdevlist_procscsi ()
| ^~~~~~~~~~~~~~~~~~~~~~~~
scsidev.c: In function ‘apply_perm’:
scsidev.c:710:9: warning: ignoring return value of ‘chown’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
710 | chown (nm, st->st_uid, st->st_gid);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
scsidev.c: In function ‘create_symlink’:
scsidev.c:885:17: warning: ignoring return value of ‘symlink’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
885 | symlink (linkto, nm);
| ^~~~~~~~~~~~~~~~~~~~
scsidev.c: In function ‘sysfs_findhostname’:
scsidev.c:1839:9: warning: ignoring return value of ‘fscanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
1839 | fscanf (f, "%i", &sdev->hostid);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
scsidev.c:1846:17: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
1846 | fgets (buf2, 127, f);
| ^~~~~~~~~~~~~~~~~~~~
scsidev.c:1859:9: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
1859 | fgets (buf, 127, f);
| ^~~~~~~~~~~~~~~~~~~
scsidev.c: In function ‘sysfs_read_devinfo’:
scsidev.c:2057:9: warning: ignoring return value of ‘fscanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
2057 | fscanf(f, "%i:%i", &sysfsptr->maj, &sysfsptr->min);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
scsidev.c: In function ‘sysfs_getinfo’:
scsidev.c:2087:9: warning: ignoring return value of ‘fscanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
2087 | fscanf (f, "%i", &inq_devtp);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
scsidev.c: In function ‘build_special’:
scsidev.c:2640:9: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
2640 | fgets (buffer, sizeof(buffer), configfile);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [Makefile:41: scsidev] Error 1
make[2]: Leaving directory '/build/reproducible-path/scsitools-0.12/scsidev'
make[1]: *** [debian/rules:15: override_dh_auto_build] Error 2
make[1]: Leaving directory '/build/reproducible-path/scsitools-0.12'
make: *** [debian/rules:11: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
Reply to: