#1097360 makedepf90: ftbfs with GCC-15

#1097360#5
Date:
2025-02-17 17:36:32 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/makedepf90_3.0.1-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

[...]
find_dep.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples
lexer.l:145: warning, rule cannot be matched
mv y.tab.c find_dep.c
mv y.tab.h find_dep.h
gcc -MM *.c > .depend
gcc -c -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/makedepf90-3.0.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -DVERSION=\"3.0.1\" errormesg.c
gcc -c -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/makedepf90-3.0.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -DVERSION=\"3.0.1\" list.c
gcc -c -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/makedepf90-3.0.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -DVERSION=\"3.0.1\" macro.c
gcc -c -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/makedepf90-3.0.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -DVERSION=\"3.0.1\" main.c
gcc -c -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/makedepf90-3.0.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -DVERSION=\"3.0.1\" modfile_name.c
gcc -c -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/makedepf90-3.0.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -DVERSION=\"3.0.1\" utils.c
gcc -c -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/makedepf90-3.0.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -DVERSION=\"3.0.1\" xmalloc.c
gcc -c -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/makedepf90-3.0.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -DVERSION=\"3.0.1\" find_dep.c
In file included from modfile_name.c:24:
global.h:55:15: error: cannot use keyword ‘false’ as enumeration constant
   55 | typedef enum {false = 0, true = 1} bool;
      |               ^~~~~
global.h:55:15: note: ‘false’ is a keyword with ‘-std=c23’ onwards
global.h:55:36: error: expected ‘;’, identifier or ‘(’ before ‘bool’
   55 | typedef enum {false = 0, true = 1} bool;
      |                                    ^~~~
global.h:55:36: warning: useless type name in empty declaration
In file included from macro.c:25:
global.h:55:15: error: cannot use keyword ‘false’ as enumeration constant
   55 | typedef enum {false = 0, true = 1} bool;
      |               ^~~~~
global.h:55:15: note: ‘false’ is a keyword with ‘-std=c23’ onwards
global.h:55:36: error: expected ‘;’, identifier or ‘(’ before ‘bool’
   55 | typedef enum {false = 0, true = 1} bool;
      |                                    ^~~~
global.h:55:36: warning: useless type name in empty declaration
make[1]: *** [Makefile:71: modfile_name.o] Error 1
make[1]: *** Waiting for unfinished jobs....
In file included from utils.c:28:
global.h:55:15: error: cannot use keyword ‘false’ as enumeration constant
   55 | typedef enum {false = 0, true = 1} bool;
      |               ^~~~~
global.h:55:15: note: ‘false’ is a keyword with ‘-std=c23’ onwards
global.h:55:36: error: expected ‘;’, identifier or ‘(’ before ‘bool’
   55 | typedef enum {false = 0, true = 1} bool;
      |                                    ^~~~
global.h:55:36: warning: useless type name in empty declaration
make[1]: *** [Makefile:71: macro.o] Error 1
make[1]: *** [Makefile:71: utils.o] Error 1
In file included from finddep.h:23,
                 from find_dep.y:31:
global.h:55:15: error: cannot use keyword ‘false’ as enumeration constant
   55 | typedef enum {false = 0, true = 1} bool;
      |               ^~~~~
global.h:55:15: note: ‘false’ is a keyword with ‘-std=c23’ onwards
global.h:55:36: error: expected ‘;’, identifier or ‘(’ before ‘bool’
   55 | typedef enum {false = 0, true = 1} bool;
      |                                    ^~~~
global.h:55:36: warning: useless type name in empty declaration
In file included from finddep.h:23,
                 from main.c:31:
global.h:55:15: error: cannot use keyword ‘false’ as enumeration constant
   55 | typedef enum {false = 0, true = 1} bool;
      |               ^~~~~
global.h:55:15: note: ‘false’ is a keyword with ‘-std=c23’ onwards
global.h:55:36: error: expected ‘;’, identifier or ‘(’ before ‘bool’
   55 | typedef enum {false = 0, true = 1} bool;
      |                                    ^~~~
global.h:55:36: warning: useless type name in empty declaration
make[1]: *** [Makefile:71: main.o] Error 1
make[1]: *** [Makefile:71: find_dep.o] Error 1
make[1]: Leaving directory '/build/reproducible-path/makedepf90-3.0.1'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:8: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2

#1097360#14
Date:
2025-09-05 10:34:23 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
makedepf90, 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 1097360@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Alastair McKinstry <mckinstry@debian.org> (supplier of updated makedepf90 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, 05 Sep 2025 11:06:09 +0100
Source: makedepf90
Architecture: source
Version: 3.0.1-2
Distribution: unstable
Urgency: medium
Maintainer: Debian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org>
Changed-By: Alastair McKinstry <mckinstry@debian.org>
Closes: 1097360
Changes:
 makedepf90 (3.0.1-2) unstable; urgency=medium
 .
   * Fix FTBFS with C std23.patch. Closes: #1097360
   * Set Debian Science Maint. as maintainer
   * Fix broken vcs url
   * Standards-Version: 4.7.2; no changes required
   * B-D on flex, bison
Checksums-Sha1:
 bbeb9ae206e1203f43a73e2e799df55afd439389 1992 makedepf90_3.0.1-2.dsc
 7a026ef0b74951f36fb366734687aeeb2157f022 2296 makedepf90_3.0.1-2.debian.tar.xz
Checksums-Sha256:
 7841262cd5601654d979b171ff5e42c27f458fc74ec4076ab9328a1b05f9bcf2 1992 makedepf90_3.0.1-2.dsc
 a1a51246810625bb0910c9fe3790284f037fc93fa6b4c433c9955d04dc03ce9b 2296 makedepf90_3.0.1-2.debian.tar.xz
Files:
 9b6b8492ad42dbfa838273efb6d6e606 1992 utils optional makedepf90_3.0.1-2.dsc
 3026df801db1066b6639b93d0471ec87 2296 utils optional makedepf90_3.0.1-2.debian.tar.xz
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEgjg86RZbNHx4cIGiy+a7Tl2a06UFAmi6tzMACgkQy+a7Tl2a
06UiVQ/+OQ7XlJn2yESRPNujJxqzb31K4imuOoVMj/Zq7yWTVI8YCEIMrjdzRdIt
WYPIfOCQaoGCPCqV48QAbZCFbERq3YNjneCv6cduduFgm2dz2d4U1p0lPDcsJoRR
NAhz7OyxgWyNLkeIscprGv0fn3exgzvvGm2JCmcSepzViwRuDzsW0/X82QoN5b4g
jtl1gQv78dp6DZpPi3sDWF5HbrdqhjV4+lTwOHzOZXO6Ln8xmhu7ooy/K7F2882j
8fB74jICyF9QHGx0oBeuo/GSR2SwexlFcx7NIQbqL4sYt7Yc5PV8LaJrRNuF9hdy
PTfOTE/hngXdi4FD2tUmI4/bdBVv95PGwyM+41yVmAbkAY1970aHlb804V+nK7iU
GZXlusscW79THVJBZHIgMAJSim2c6WalFWWr52FxjusU81Qj4KxmVgcjFatGoslS
lsaliUYCAobKhXXeG/VdZjKqVq1RvtYwQjyTSOgZDx3qyY0g+sznh4xb5m0iHtIX
sB7bxGTV7XNWOVCL2Gs8oL1dM21Boia2kptYR2qdGjj/JbnMLkKVw0E7UbFy+47m
zO13NcCOD0yAN3NrNH2h1Jy6OtlVDvXLX4nQhXiODZb5Si40m1R//rv6UYE8BP9i
NWHCC/WLk/Q+iHib6lrnCDGPaYvodske2Gy6Z6MvLWEY9iak5rA=
=jFIp
-----END PGP SIGNATURE-----