Subject: Bug#1096413: cardpeek: ftbfs with GCC-15

From: Matthias Klose <[email-masked]>
Date: Mon, 17 Feb 2025 17:06:25 +0000

Package: src:cardpeek
Version: 0.8.4-2
Severity: important
Tags: sid forky
User: [email-masked]
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/cardpeek_0.8.4-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

[...]
crypto.c:117:13: warning: ‘DES_ncbc_encrypt’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  117 |             DES_ncbc_encrypt(src->data,
      |             ^~~~~~~~~~~~~~~~
/usr/include/openssl/des.h:93:6: note: declared here
   93 | void DES_ncbc_encrypt(const unsigned char *input, unsigned char *output,
      |      ^~~~~~~~~~~~~~~~
crypto.c:131:17: warning: ‘DES_ecb3_encrypt’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  131 |                 DES_ecb2_encrypt((const_DES_cblock *)(src->data+u*8),
      |                 ^~~~~~~~~~~~~~~~
/usr/include/openssl/des.h:78:6: note: declared here
   78 | void DES_ecb3_encrypt(const_DES_cblock *input, DES_cblock *output,
      |      ^~~~~~~~~~~~~~~~
crypto.c:147:13: warning: ‘DES_ede3_cbc_encrypt’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  147 |             DES_ede2_cbc_encrypt(src->data,
      |             ^~~~~~~~~~~~~~~~~~~~
/usr/include/openssl/des.h:142:6: note: declared here
  142 | void DES_ede3_cbc_encrypt(const unsigned char *input, unsigned char *output,
      |      ^~~~~~~~~~~~~~~~~~~~
crypto.c: In function ‘crypto_mac’:
crypto.c:252:13: warning: ‘DES_ecb_encrypt’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  252 |             DES_ecb_encrypt((const_DES_cblock *)clr,
      |             ^~~~~~~~~~~~~~~
/usr/include/openssl/des.h:105:6: note: declared here
  105 | void DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output,
      |      ^~~~~~~~~~~~~~~
crypto.c:258:9: warning: ‘DES_ecb_encrypt’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  258 |         DES_ecb_encrypt((const_DES_cblock *)clr,
      |         ^~~~~~~~~~~~~~~
/usr/include/openssl/des.h:105:6: note: declared here
  105 | void DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output,
      |      ^~~~~~~~~~~~~~~
crypto.c:263:9: warning: ‘DES_ecb_encrypt’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  263 |         DES_ecb_encrypt((const_DES_cblock *)clr,
      |         ^~~~~~~~~~~~~~~
/usr/include/openssl/des.h:105:6: note: declared here
  105 | void DES_ecb_encrypt(const_DES_cblock *input, DES_cblock *output,
      |      ^~~~~~~~~~~~~~~
lua_nodes.c: In function ‘subr_nodes_append’:
lua_nodes.c:278:9: error: too many arguments to function ‘ui_update’; expected 0, have 1
  278 |         ui_update(1);
      |         ^~~~~~~~~ ~
In file included from lua_nodes.c:22:
ui.h:58:6: note: declared here
   58 | void ui_update();
      |      ^~~~~~~~~
lua_nodes.c: In function ‘subr_nodes_remove’:
lua_nodes.c:427:3: error: too many arguments to function ‘ui_update’; expected 0, have 1
  427 |   ui_update(1);
      |   ^~~~~~~~~ ~
ui.h:58:6: note: declared here
   58 | void ui_update();
      |      ^~~~~~~~~
make[2]: *** [Makefile:693: lua_nodes.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/build/reproducible-path/cardpeek-0.8.4'
make[1]: *** [Makefile:487: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/cardpeek-0.8.4'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:9: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2