[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1096572: elk: ftbfs with GCC-15



Package: src:elk
Version: 3.99.8-9
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/elk_3.99.8-9_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

[...]
env.c:82:6: warning: no previous prototype for ‘Switch_Environment’ [-Wmissing-prototypes]
   82 | void Switch_Environment (Object to) {
      |      ^~~~~~~~~~~~~~~~~~
env.c:152:8: warning: no previous prototype for ‘Define_Procedure’ [-Wmissing-prototypes]
  152 | Object Define_Procedure (Object form, Object body, Object sym) {
      |        ^~~~~~~~~~~~~~~~
env.c: In function ‘Define_Procedure’:
env.c:161:11: error: too many arguments to function ‘General_Define’; expected 0, have 2
  161 |     ret = General_Define (body, sym);
      |           ^~~~~~~~~~~~~~  ~~~~
env.c:45:8: note: declared here
   45 | Object General_Define();
      |        ^~~~~~~~~~~~~~
env.c: At top level:
env.c:166:8: error: conflicting types for ‘General_Define’; have ‘Object(Object,  Object)’
  166 | Object General_Define (Object argl, Object sym) {
      |        ^~~~~~~~~~~~~~
env.c:45:8: note: previous declaration of ‘General_Define’ with type ‘Object(void)’
   45 | Object General_Define();
      |        ^~~~~~~~~~~~~~
error.c:55:6: warning: no previous prototype for ‘Init_Error’ [-Wmissing-prototypes]
   55 | void Init_Error () {
      |      ^~~~~~~~~~
make[4]: *** [Makefile:720: libelk_la-env.lo] Error 1
make[4]: *** Waiting for unfinished jobs....
error.c:107:6: warning: no previous prototype for ‘Uncatchable_Error’ [-Wmissing-prototypes]
  107 | void Uncatchable_Error (char *errmsg) {
      |      ^~~~~~~~~~~~~~~~~
error.c: In function ‘Primitive_Error’:
error.c:147:5: error: too many arguments to function ‘Err_Handler’; expected 0, have 4
  147 |     Err_Handler (sym, msg, i, argv);
      |     ^~~~~~~~~~~  ~~~
error.c:40:6: note: declared here
   40 | void Err_Handler () elk_attribute(__noreturn__);
      |      ^~~~~~~~~~~
error.c: In function ‘P_Error’:
error.c:154:5: error: too many arguments to function ‘Err_Handler’; expected 0, have 4
  154 |     Err_Handler (argv[0], argv[1], argc-2, argv+2);
      |     ^~~~~~~~~~~  ~~~~~~~
error.c:40:6: note: declared here
   40 | void Err_Handler () elk_attribute(__noreturn__);
      |      ^~~~~~~~~~~
error.c: At top level:
error.c:158:6: error: conflicting types for ‘Err_Handler’; have ‘void(Object,  Object,  int,  Object *)’
  158 | void Err_Handler (Object sym, Object fmt, int argc, Object *argv) {
      |      ^~~~~~~~~~~
error.c:40:6: note: previous declaration of ‘Err_Handler’ with type ‘void(void)’
   40 | void Err_Handler () elk_attribute(__noreturn__);
      |      ^~~~~~~~~~~
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I../include -I../include -Wdate-time -D_FORTIFY_SOURCE=2 -DSCM_DIR=\"/usr/share/elk\" -DLIB_DIR=\"/usr/lib/x86_64-linux-gnu/elk\" -I/usr/include/libelf -Wpointer-arith -Wcast-align -Wcast-qual -Wshadow -Wmissing-prototypes -Wnested-externs -Wsign-compare -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/elk-3.99.8=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c exception.c  -fPIC -DPIC -o .libs/libelk_la-exception.o
make[4]: *** [Makefile:727: libelk_la-error.lo] Error 1
exception.c:58:6: warning: no previous prototype for ‘Init_Exception’ [-Wmissing-prototypes]
   58 | void Init_Exception () {
      |      ^~~~~~~~~~~~~~
exception.c:77:6: warning: no previous prototype for ‘Intr_Handler’ [-Wmissing-prototypes]
   77 | void Intr_Handler (int sig) {
      |      ^~~~~~~~~~~~
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I../include -I../include -Wdate-time -D_FORTIFY_SOURCE=2 -DSCM_DIR=\"/usr/share/elk\" -DLIB_DIR=\"/usr/lib/x86_64-linux-gnu/elk\" -I/usr/include/libelf -Wpointer-arith -Wcast-align -Wcast-qual -Wshadow -Wmissing-prototypes -Wnested-externs -Wsign-compare -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/elk-3.99.8=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c dump.c -o libelk_la-dump.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I../include -I../include -Wdate-time -D_FORTIFY_SOURCE=2 -DSCM_DIR=\"/usr/share/elk\" -DLIB_DIR=\"/usr/lib/x86_64-linux-gnu/elk\" -I/usr/include/libelf -Wpointer-arith -Wcast-align -Wcast-qual -Wshadow -Wmissing-prototypes -Wnested-externs -Wsign-compare -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/elk-3.99.8=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c exception.c -o libelk_la-exception.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I../include -I../include -Wdate-time -D_FORTIFY_SOURCE=2 -DSCM_DIR=\"/usr/share/elk\" -DLIB_DIR=\"/usr/lib/x86_64-linux-gnu/elk\" -I/usr/include/libelf -Wpointer-arith -Wcast-align -Wcast-qual -Wshadow -Wmissing-prototypes -Wnested-externs -Wsign-compare -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/elk-3.99.8=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c bignum.c -o libelk_la-bignum.o >/dev/null 2>&1
make[4]: Leaving directory '/build/reproducible-path/elk-3.99.8/src'
make[3]: *** [Makefile:441: all-recursive] Error 1
make[3]: Leaving directory '/build/reproducible-path/elk-3.99.8'
make[2]: *** [Makefile:373: all] Error 2
make[2]: Leaving directory '/build/reproducible-path/elk-3.99.8'
dh_auto_build: error: make -j8 returned exit code 2
make[1]: *** [debian/rules:12: override_dh_auto_build] Error 25
make[1]: Leaving directory '/build/reproducible-path/elk-3.99.8'
make: *** [debian/rules:9: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2


Reply to: