Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

librelp: ftbfs with GCC-15 #267

Open
mbiebl opened this issue Feb 17, 2025 · 0 comments
Open

librelp: ftbfs with GCC-15 #267

mbiebl opened this issue Feb 17, 2025 · 0 comments

Comments

@mbiebl
Copy link
Contributor

mbiebl commented Feb 17, 2025

Forwarded from https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1097259

Package: src:librelp
Version: 1.11.0-2
Severity: important
Tags: sid forky
User: [email protected]
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/librelp_1.11.0-2_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

[...]
   70 | do_signal(const int sig)
      | ^~~~~~~~~
/bin/bash ../libtool  --tag=CC   --mode=link gcc  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/librelp-1.11.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection    -Wl,-z,relro -Wl,-z,now -o have_tlslib have_tlslib.o  -lssl -lcrypto  -lssl -lcrypto 
make[3]: *** [Makefile:747: send-send.o] Error 1
make[3]: *** Waiting for unfinished jobs....
/bin/bash ../libtool  --tag=CC   --mode=link gcc  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/librelp-1.11.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection    -Wl,-z,relro -Wl,-z,now -o msleep msleep.o  -lssl -lcrypto  -lssl -lcrypto 
receive.c: In function ‘hdlr_enable’:
receive.c:76:27: error: assignment to ‘__sighandler_t’ {aka ‘void (*)(int)’} from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types]
   76 |         sigAct.sa_handler = hdlr;
      |                           ^
In file included from receive.c:35:
/usr/include/signal.h:72:16: note: ‘__sighandler_t’ declared here
   72 | typedef void (*__sighandler_t) (int);
      |                ^~~~~~~~~~~~~~
receive.c: In function ‘main’:
receive.c:396:38: error: passing argument 2 of ‘hdlr_enable’ from incompatible pointer type [-Wincompatible-pointer-types]
  396 |                 hdlr_enable(SIGPIPE, do_signal);
      |                                      ^~~~~~~~~
      |                                      |
      |                                      __attribute__((noreturn)) void (*)(const int)
receive.c:71:29: note: expected ‘void (*)(void)’ but argument is of type ‘__attribute__((noreturn)) void (*)(const int)’
   71 | hdlr_enable(int sig, void (*hdlr)())
      |                      ~~~~~~~^~~~~~~
receive.c:101:1: note: ‘do_signal’ declared here
  101 | do_signal(const int sig)
      | ^~~~~~~~~
receive.c:400:30: error: passing argument 2 of ‘hdlr_enable’ from incompatible pointer type [-Wincompatible-pointer-types]
  400 |         hdlr_enable(SIGUSR1, do_exit);
      |                              ^~~~~~~
      |                              |
      |                              void (*)(const int)
receive.c:71:29: note: expected ‘void (*)(void)’ but argument is of type ‘void (*)(const int)’
   71 | hdlr_enable(int sig, void (*hdlr)())
      |                      ~~~~~~~^~~~~~~
receive.c:113:1: note: ‘do_exit’ declared here
  113 | do_exit(LIBRELP_ATTR_UNUSED const int sig)
      | ^~~~~~~
receive.c:401:30: error: passing argument 2 of ‘hdlr_enable’ from incompatible pointer type [-Wincompatible-pointer-types]
  401 |         hdlr_enable(SIGTERM, terminate);
      |                              ^~~~~~~~~
      |                              |
      |                              void (*)(const int)
receive.c:71:29: note: expected ‘void (*)(void)’ but argument is of type ‘void (*)(const int)’
   71 | hdlr_enable(int sig, void (*hdlr)())
      |                      ~~~~~~~^~~~~~~
receive.c:81:1: note: ‘terminate’ declared here
   81 | terminate(LIBRELP_ATTR_UNUSED const int sig)
      | ^~~~~~~~~
receive.c:402:30: error: passing argument 2 of ‘hdlr_enable’ from incompatible pointer type [-Wincompatible-pointer-types]
  402 |         hdlr_enable(SIGALRM, watchdog_expired);
      |                              ^~~~~~~~~~~~~~~~
      |                              |
      |                              __attribute__((noreturn)) void (*)(const int)
receive.c:71:29: note: expected ‘void (*)(void)’ but argument is of type ‘__attribute__((noreturn)) void (*)(const int)’
   71 | hdlr_enable(int sig, void (*hdlr)())
      |                      ~~~~~~~^~~~~~~
receive.c:91:1: note: ‘watchdog_expired’ declared here
   91 | watchdog_expired(LIBRELP_ATTR_UNUSED const int sig)
      | ^~~~~~~~~~~~~~~~
make[3]: *** [Makefile:733: receive-receive.o] Error 1
libtool: link: gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/librelp-1.11.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -o have_tlslib have_tlslib.o  -lssl -lcrypto
libtool: link: gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/librelp-1.11.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wl,-z -Wl,relro -Wl,-z -Wl,now -o msleep msleep.o  -lssl -lcrypto
make[3]: Leaving directory '/build/reproducible-path/librelp-1.11.0/tests'
make[2]: *** [Makefile:1028: check-am] Error 2
make[2]: Leaving directory '/build/reproducible-path/librelp-1.11.0/tests'
make[1]: *** [Makefile:480: check-recursive] Error 1
make[1]: Leaving directory '/build/reproducible-path/librelp-1.11.0'
dh_auto_test: error: make -j8 check "TESTSUITEFLAGS=-j8 --verbose" VERBOSE=1 returned exit code 2
make: *** [debian/rules:6: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant