Bug#1097858: scm: ftbfs with GCC-15
Package: src:scm
Version: 5f4-3
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/scm_5f4-3_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
[...]
| ^~~~~~~~~~~~~~
scm.c: In function ‘scm_init_from_argv’:
scm.c:670:6: warning: old-style function definition [-Wold-style-definition]
670 | void scm_init_from_argv(argc, argv, script_arg, iverbose, buf0stdin)
| ^~~~~~~~~~~~~~~~~~
scm.c: In function ‘final_scm’:
scm.c:692:6: warning: old-style function definition [-Wold-style-definition]
692 | void final_scm(freeall)
| ^~~~~~~~~
scm.c: In function ‘init_buf0’:
scm.c:826:5: warning: old-style function definition [-Wold-style-definition]
826 | int init_buf0(inport)
| ^~~~~~~~~
scm.c: In function ‘scm_execpath’:
scm.c:863:5: warning: old-style function definition [-Wold-style-definition]
863 | SCM scm_execpath(newpath)
| ^~~~~~~~~~~~
scm.c: In function ‘scm_find_execpath’:
scm.c:882:7: warning: old-style function definition [-Wold-style-definition]
882 | char *scm_find_execpath(argc, argv, script_arg)
| ^~~~~~~~~~~~~~~~~
scm.c: In function ‘lsystem’:
scm.c:922:5: warning: old-style function definition [-Wold-style-definition]
922 | SCM lsystem(cmd)
| ^~~~~~~
scm.c: At top level:
scm.c:940:7: error: conflicting types for ‘getenv’; have ‘char *(void)’
940 | char *getenv();
| ^~~~~~
In file included from scmfig.h:813,
from scm.h:65,
from scm.c:26:
/usr/include/stdlib.h:773:14: note: previous declaration of ‘getenv’ with type ‘char *(const char *)’
773 | extern char *getenv (const char *__name) __THROW __nonnull ((1)) __wur;
| ^~~~~~
scm.c: In function ‘scm_getenv’:
scm.c:941:5: warning: old-style function definition [-Wold-style-definition]
941 | SCM scm_getenv(nam)
| ^~~~~~~~~~
scm.c:958:9: error: too many arguments to function ‘getenv’; expected 0, have 1
958 | val = getenv(CHARS(nam));
| ^~~~~~
scm.c:940:7: note: declared here
940 | char *getenv();
| ^~~~~~
scm.c: In function ‘add_feature’:
scm.c:1025:6: warning: old-style function definition [-Wold-style-definition]
1025 | void add_feature(str)
| ^~~~~~~~~~~
scm.c: In function ‘init_features’:
scm.c:1036:36: error: passing argument 3 of ‘make_subr’ from incompatible pointer type [-Wincompatible-pointer-types]
1036 | make_subr(s_getenv, tc7_subr_1o, scm_getenv);
| ^~~~~~~~~~
| |
| SCM (*)(SCM) {aka long int (*)(long int)}
scm.h:816:64: note: expected ‘SCM (*)(void)’ {aka ‘long int (*)(void)’} but argument is of type ‘SCM (*)(SCM)’ {aka ‘long int (*)(long int)’}
816 | SCM_EXPORT SCM make_subr P((const char *name, int type, SCM (*fcn)()));
| ~~~~~~^~~~~~
scm.h:97:15: note: in definition of macro ‘P’
97 | # define P(s) s
| ^
scm.c:941:5: note: ‘scm_getenv’ declared here
941 | SCM scm_getenv(nam)
| ^~~~~~~~~~
make[2]: *** [Makefile:320: scm.o] Error 1
make[2]: Leaving directory '/build/reproducible-path/scm-5f4'
make[1]: *** [debian/rules:32: override_dh_auto_build] Error 2
make[1]: Leaving directory '/build/reproducible-path/scm-5f4'
make: *** [debian/rules:19: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
Reply to: