#1097311 logtool: ftbfs with GCC-15

Package:
src:logtool
Source:
src:logtool
Submitter:
Matthias Klose
Date:
2025-10-05 12:10:04 UTC
Severity:
normal
Tags:
#1097311#5
Date:
2025-02-17 17:35:07 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/logtool_1.2.8-14_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

[...]
config.status: creating Makefile
config.status: creating conf/logtool.conf
config.status: creating doc/logtool.1
config.status: creating doc/logtool.txt
config.status: creating config.h
config.status: config.h is unchanged


Build was configured as follows:

Prefix:					/usr
Configuration files wil be placed in:	/etc/logtool
Binaries will be placed in:		/usr/bin
Using this install program:		/usr/bin/install -c
We will use the following compiler:	gcc
With the following CFLAGS:              -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/logtool-1.2.8=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection
With the following DEFS:                -DHAVE_CONFIG_H
With the following LIBS:
make[1]: Leaving directory '/build/reproducible-path/logtool-1.2.8'
   dh_auto_build
	make -j8
make[1]: Entering directory '/build/reproducible-path/logtool-1.2.8'
cd src ; make
make[2]: Entering directory '/build/reproducible-path/logtool-1.2.8/src'
gcc -c  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/logtool-1.2.8=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -DHAVE_CONFIG_H readconf.c -o readconf.o
gcc -c  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/logtool-1.2.8=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -DHAVE_CONFIG_H getopt.c -o getopt.o
gcc -c  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/logtool-1.2.8=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -DHAVE_CONFIG_H regex.c -o regex.o
gcc -c  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/logtool-1.2.8=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -DHAVE_CONFIG_H parser.c -o parser.o
gcc -c  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/logtool-1.2.8=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -DHAVE_CONFIG_H ansi.c -o ansi.o
gcc -c  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/logtool-1.2.8=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -DHAVE_CONFIG_H ascii.c -o ascii.o
gcc -c  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/logtool-1.2.8=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -DHAVE_CONFIG_H tai64nfrac.c -o tai64nfrac.o
gcc -c  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/logtool-1.2.8=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -DHAVE_CONFIG_H csv.c -o csv.o
readconf.c:22:6: error: conflicting types for ‘lt_set_config_err’; have ‘void(char *, char *)’
   22 | void lt_set_config_err(char *option, char *val) {
      |      ^~~~~~~~~~~~~~~~~
In file included from includes.h:56,
                 from readconf.c:21:
logtool.h:34:6: note: previous declaration of ‘lt_set_config_err’ with type ‘void(void)’
   34 | void lt_set_config_err();
      |      ^~~~~~~~~~~~~~~~~
getopt.c:101:6: error: conflicting types for ‘lt_getopts’; have ‘void(int,  char **)’
  101 | void lt_getopts(int argc, char **argv)
      |      ^~~~~~~~~~
In file included from includes.h:56,
                 from getopt.c:21:
logtool.h:55:6: note: previous declaration of ‘lt_getopts’ with type ‘void(void)’
   55 | void lt_getopts();
      |      ^~~~~~~~~~
make[2]: *** [Makefile:25: readconf.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [Makefile:25: getopt.o] Error 1
regex.c: In function ‘lt_load_regex’:
regex.c:123:33: warning: ‘strncat’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
  123 |                                 strncat(*dest, tmp, strlen(tmp) + 1);
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regex.c:123:53: note: length computed here
  123 |                                 strncat(*dest, tmp, strlen(tmp) + 1);
      |                                                     ^~~~~~~~~~~
regex.c:119:33: warning: ‘strncat’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
  119 |                                 strncat(*dest, tmp, strlen(tmp) + 1);
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regex.c:119:53: note: length computed here
  119 |                                 strncat(*dest, tmp, strlen(tmp) + 1);
      |                                                     ^~~~~~~~~~~
make[2]: Leaving directory '/build/reproducible-path/logtool-1.2.8/src'
make[1]: *** [Makefile:3: build_it] Error 2
make[1]: Leaving directory '/build/reproducible-path/logtool-1.2.8'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:4: binary] Error 25
dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2

#1097311#14
Date:
2025-10-03 20:28:15 UTC
From:
To:
Dear maintainer,

I've prepared an NMU for logtool (versioned as 1.2.8-14.1) and uploaded
it to DELAYED/2. Please feel free to tell me if I should cancel it.

cu
Adrian

#1097311#23
Date:
2025-10-05 12:08:23 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
logtool, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1097311@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Adrian Bunk <bunk@debian.org> (supplier of updated logtool package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Fri, 03 Oct 2025 23:24:51 +0300
Source: logtool
Architecture: source
Version: 1.2.8-14.1
Distribution: unstable
Urgency: medium
Maintainer: Wouter Verhelst <wouter@debian.org>
Changed-By: Adrian Bunk <bunk@debian.org>
Closes: 1097311
Changes:
 logtool (1.2.8-14.1) unstable; urgency=medium
 .
   * Non-maintainer upload.
   * Fix FTBFS with GCC 15. (Closes: #1097311)
Checksums-Sha1:
 dc0fcaec2511dcad6dee18168987b4b69e3d7b96 1793 logtool_1.2.8-14.1.dsc
 40e5addfda06ce8b845c63f3f86cee8fef3dddb3 47448 logtool_1.2.8-14.1.diff.gz
Checksums-Sha256:
 17234b10034cd7d7dfbe71b3589af758804b262db77370a311d17e885e3700a1 1793 logtool_1.2.8-14.1.dsc
 2a9aa35e93960a466f9125de2c3272575a0a9c6aa41e395d8f5697c79d44cd92 47448 logtool_1.2.8-14.1.diff.gz
Files:
 af8815a02e939fe30d792b34268c8125 1793 utils optional logtool_1.2.8-14.1.dsc
 4f06ffbd64e53b3fe50a61f665d2d876 47448 utils optional logtool_1.2.8-14.1.diff.gz
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEOvp1f6xuoR0v9F3wiNJCh6LYmLEFAmjgMcoACgkQiNJCh6LY
mLF6ZQ//QFV+zAr1kEEMXxTXjV05WFHa9NLEk2tlRkR0h5f1rhg5k4UXHoUqOGoy
yQ0thiWVG0s5LNfymEUyC/5pktbC7aUfqvmEzbbVX+GrrSBOpAlR2bHg0fmNUHb9
c0Y6d3qQ8KVzmH5k8InFQio1jwS/d1AszqwRkX+tRC75i4NSDw1hyz5cZjcW34TR
SP3PdpIP7ljhvcjaJhEhDmpWSNDNQTWCEFrnoGFdyxtD4PIb9MKp17fgTm7PyVyJ
ACMkJRfATNHEMd7yBl83nw/hR+B2/srJNnJHpE6IEmOaSVnpfagYrlANQa6gfqbv
A5b5B3ZJoVSt8JYum4z+P9HH47DGIaQVV/WuD8to3TJahKqApgpkc8rpl+Rlc02x
CBqB77cv0FjICII6YY60T4F45Jgmfj7Upr1QpnqYoI2Cgpg+5qOfV9ewuhNCRgGb
DU2SJIg/+adYz7O5D0e7XepUIj7mVbpebBeea2r+yhR7k91ZpnR85RaqFXggim78
/2gN9QUOTpWHP+rtqVrg5VWYKoi5949ZETXkrp7W8XX1lgG5j+wNJvHY9sB8rM4q
ZGuY7EVy+biFwv7lqTtwuwZte4DhyxU9MMGljLnRoqwkdeIqXinsXk9l9foHZ37r
3MCLzyrjZA3m5ZpO0OQsuDMVwYPPquAudMBRlWQp9o+ek2BA94I=
=6dep
-----END PGP SIGNATURE-----