#1098171 xtail: ftbfs with GCC-15

Package:
src:xtail
Source:
src:xtail
Submitter:
Matthias Klose
Date:
2025-09-04 22:11:47 UTC
Severity:
normal
Tags:
#1098171#5
Date:
2025-02-17 18:02:42 UTC
From:
To:
[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/xtail_2.1-11_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

[...]
autoheader:
autoheader: WARNING:   AC_DEFINE([NEED_FUNC_MAIN], 1,
autoheader: 		[Define if a function 'main' is needed.])
autoheader:
autoheader: WARNING: More sophisticated templates can also be produced, see the
autoheader: WARNING: documentation.
   dh_auto_configure
	./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --runstatedir=/run --disable-maintainer-mode --disable-dependency-tracking
checking for a BSD-compatible install... /usr/bin/install -c
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
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 for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for termios.h... yes
checking for an ANSI C-conforming const... yes
checking for off_t... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking return type of signal handlers... void
checking for difftime... yes
checking for strerror... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: WARNING:  'Makefile.in' seems to ignore the --datarootdir setting
config.status: creating config.h
   dh_auto_build
	make -j8
make[1]: Entering directory '/build/reproducible-path/xtail-2.1'
gcc -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/xtail-2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -DHAVE_CONFIG_H -I.  -Wdate-time -D_FORTIFY_SOURCE=2  -c -o xtail.o xtail.c
gcc -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/xtail-2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -DHAVE_CONFIG_H -I.  -Wdate-time -D_FORTIFY_SOURCE=2  -c -o entryfuncs.o entryfuncs.c
gcc -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/xtail-2.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -DHAVE_CONFIG_H -I.  -Wdate-time -D_FORTIFY_SOURCE=2  -c -o miscfuncs.o miscfuncs.c
xtail.c: In function ‘main’:
xtail.c:365:29: error: conflicting types for ‘sleep’; have ‘unsigned int(void)’
  365 |             extern unsigned sleep();
      |                             ^~~~~
In file included from xtail.c:9:
/usr/include/unistd.h:464:21: note: previous declaration of ‘sleep’ with type ‘unsigned int(unsigned int)’
  464 | extern unsigned int sleep (unsigned int __seconds);
      |                     ^~~~~
xtail.c:367:20: error: too many arguments to function ‘sleep’; expected 0, have 1
  367 |             (void) sleep(SLEEP_TIME);
      |                    ^~~~~
xtail.c:365:29: note: declared here
  365 |             extern unsigned sleep();
      |                             ^~~~~
make[1]: *** [<builtin>: xtail.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/build/reproducible-path/xtail-2.1'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:7: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2