#1097270 libshairport: ftbfs with GCC-15

#1097270#5
Date:
2025-02-17 17:33:48 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/libshairport_1.2.1~git20120510.cbed0c1-4_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

[...]
      |     ^~~
In file included from /usr/include/openssl/x509.h:36,
                 from /usr/include/openssl/ssl.h:32,
                 from shairport.c:41:
/usr/include/openssl/rsa.h:215:27: note: declared here
  215 | OSSL_DEPRECATEDIN_3_0 int RSA_size(const RSA *rsa);
      |                           ^~~~~~~~
shairport.c:720:5: warning: 'RSA_private_encrypt' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  720 |     RSA_private_encrypt(tCurSize, (unsigned char *)tChalResp, tTo, rsa, RSA_PKCS1_PADDING);
      |     ^~~~~~~~~~~~~~~~~~~
/usr/include/openssl/rsa.h:296:5: note: declared here
  296 | int RSA_private_encrypt(int flen, const unsigned char *from, unsigned char *to,
      |     ^~~~~~~~~~~~~~~~~~~
shairport.c:730:5: warning: 'RSA_free' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  730 |     RSA_free(rsa);
      |     ^~~~~~~~
/usr/include/openssl/rsa.h:304:28: note: declared here
  304 | OSSL_DEPRECATEDIN_3_0 void RSA_free(RSA *r);
      |                            ^~~~~~~~
shairport.c: In function 'parseMessage':
shairport.c:838:7: warning: 'RSA_size' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  838 |       char *tDecryptedKey = malloc(RSA_size(rsa) * sizeof(char)); // Need to Free Decrypted key
      |       ^~~~
/usr/include/openssl/rsa.h:215:27: note: declared here
  215 | OSSL_DEPRECATEDIN_3_0 int RSA_size(const RSA *rsa);
      |                           ^~~~~~~~
shairport.c:840:7: warning: 'RSA_private_decrypt' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  840 |       if(RSA_private_decrypt(tKeySize, (unsigned char *)tDecodedAesKey,
      |       ^~
/usr/include/openssl/rsa.h:302:5: note: declared here
  302 | int RSA_private_decrypt(int flen, const unsigned char *from, unsigned char *to,
      |     ^~~~~~~~~~~~~~~~~~~
shairport.c:850:7: warning: 'RSA_free' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  850 |       RSA_free(rsa);
      |       ^~~~~~~~
/usr/include/openssl/rsa.h:304:28: note: declared here
  304 | OSSL_DEPRECATEDIN_3_0 void RSA_free(RSA *r);
      |                            ^~~~~~~~
shairport.c: In function 'loadKey':
shairport.c:1380:3: warning: 'PEM_read_bio_RSAPrivateKey' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
 1380 |   RSA *rsa = PEM_read_bio_RSAPrivateKey(tBio, NULL, NULL, NULL); //NULL, NULL, NULL);
      |   ^~~
In file included from /usr/include/openssl/ssl.h:37:
/usr/include/openssl/pem.h:452:1: note: declared here
  452 | DECLARE_PEM_rw_cb_attr(OSSL_DEPRECATEDIN_3_0, RSAPrivateKey, RSA)
      | ^~~~~~~~~~~~~~~~~~~~~~
shairport.c:1382:3: warning: 'RSA_check_key' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
 1382 |   __shairport_xprintf("RSA Key: %d\n", RSA_check_key(rsa));
      |   ^~~~~~~~~~~~~~~~~~~
/usr/include/openssl/rsa.h:289:27: note: declared here
  289 | OSSL_DEPRECATEDIN_3_0 int RSA_check_key(const RSA *);
      |                           ^~~~~~~~~~~~~
shairport.c: In function 'shairport_main':
shairport.c:262:7: warning: ignoring return value of 'dup' declared with attribute 'warn_unused_result' [-Wunused-result]
  262 |       dup(tIdx);
      |       ^~~~~~~~~
shairport.c:263:7: warning: ignoring return value of 'dup' declared with attribute 'warn_unused_result' [-Wunused-result]
  263 |       dup(tIdx);
      |       ^~~~~~~~~
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--no-undefined -g -O2 -Werror=implicit-function-declaration "-ffile-prefix-map=/build/reproducible-path/libshairport-1.2.1~git20120510.cbed0c1=." -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c socketlib.c -o libshairport_la-socketlib.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--no-undefined -g -O2 -Werror=implicit-function-declaration "-ffile-prefix-map=/build/reproducible-path/libshairport-1.2.1~git20120510.cbed0c1=." -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c alac.c -o libshairport_la-alac.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,--no-undefined -g -O2 -Werror=implicit-function-declaration "-ffile-prefix-map=/build/reproducible-path/libshairport-1.2.1~git20120510.cbed0c1=." -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c shairport.c -o libshairport_la-shairport.o >/dev/null 2>&1
make[3]: Leaving directory '/build/reproducible-path/libshairport-1.2.1~git20120510.cbed0c1/src'
make[2]: *** [Makefile:460: all-recursive] Error 1
make[2]: Leaving directory '/build/reproducible-path/libshairport-1.2.1~git20120510.cbed0c1'
make[1]: *** [Makefile:369: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/libshairport-1.2.1~git20120510.cbed0c1'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:4: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2

#1097270#14
Date:
2026-10-11 16:52:18 UTC
From:
To:
Control: tags 1097270 + pending

Dear maintainer,

I've prepared an NMU for libshairport (1.2.1~git20120510.cbed0c1-4.1)
and uploaded it to DELAYED/5. Please feel free to tell me if I should
cancel it.

#1097270#21
Date:
2026-10-16 17:18:59 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
libshairport, 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 1097270@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Matheus Polkorny <polkorny@debian.org> (supplier of updated libshairport 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: Sun, 11 Oct 2026 13:25:53 -0300
Source: libshairport
Architecture: source
Version: 1.2.1~git20120510.cbed0c1-4.1
Distribution: unstable
Urgency: medium
Maintainer: Debian Multimedia Maintainers <debian-multimedia@lists.debian.org>
Changed-By: Matheus Polkorny <polkorny@debian.org>
Closes: 1097270
Changes:
 libshairport (1.2.1~git20120510.cbed0c1-4.1) unstable; urgency=medium
 .
   * Non-maintainer upload.
   * d/p/Fix-build-gcc-15.patch: New patch (Closes: #1097270)
Checksums-Sha1:
 9f20ad171bd9c4dda2f00758a29df6fc6aee9390 2244 libshairport_1.2.1~git20120510.cbed0c1-4.1.dsc
 06a49e64b12e192b178c128d662c7b6e25317d8f 336420 libshairport_1.2.1~git20120510.cbed0c1.orig.tar.gz
 975de8ea6a8e89ee517164f78520405536cb9b42 4584 libshairport_1.2.1~git20120510.cbed0c1-4.1.debian.tar.xz
 c5c2d98218fcbcae814ace29ee61ad4e4de2f491 6780 libshairport_1.2.1~git20120510.cbed0c1-4.1_source.buildinfo
Checksums-Sha256:
 822d0eef7342e4e65c774dc904c7dc035431c2efd25d928a3bca788fbae20728 2244 libshairport_1.2.1~git20120510.cbed0c1-4.1.dsc
 4700eabbe2dc4311782fe3517913278665fc7e7c81223fe1d1d881471acb84dd 336420 libshairport_1.2.1~git20120510.cbed0c1.orig.tar.gz
 44b567722c21adedc3d4dfa05d912d1ca2d1d8fb104169a8a9b3175b6e6d0c39 4584 libshairport_1.2.1~git20120510.cbed0c1-4.1.debian.tar.xz
 440d059527a98204debbf72be48e59070e37265c6655cdd25090945f8a2f50ba 6780 libshairport_1.2.1~git20120510.cbed0c1-4.1_source.buildinfo
Files:
 0bf92391a5743bd9232b56f35a2d1698 2244 libs optional libshairport_1.2.1~git20120510.cbed0c1-4.1.dsc
 b06238c228ae19f9c290e3fe6d2cf948 336420 libs optional libshairport_1.2.1~git20120510.cbed0c1.orig.tar.gz
 fdcd06298b4bc609e9cc4c7ae4e51397 4584 libs optional libshairport_1.2.1~git20120510.cbed0c1-4.1.debian.tar.xz
 3ebf0cd09b5430cb51a4fa1a7cd7c6ff 6780 libs optional libshairport_1.2.1~git20120510.cbed0c1-4.1_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iQJIBAEBCgAyFiEEcRD/fHLtdypUR2KKShyoWjj77loFAmrLuPcUHHBvbGtvcm55
QGRlYmlhbi5vcmcACgkQShyoWjj77lppxw/9HgncazQfb1GmnGRJdCSNiwamWqD0
wCfZ21uAk0woHuvZSofvJXwCxr4/vIldP/ckvFdhKFBV1ykthu3VuGkhO5TYt+T0
C4imlBZNtZN2npOnC4o6U19Lqy1JOGsnUUQIorQEb37j5sHNwpaL70DJP0Ey6Dby
25GX5Z2amVqY03LfLLbWSZR4zRBaHS5LK1d5RUkhiur5lL3RrfL/T4aN6uq98XqC
Pydr3MkgsV/zbQkD8q1grvWIIqMUCjhl31hHADyr5I7C35fSRxOeB/igRbJ/ETyz
LeuSf8fym0Eny05GCtOd/B1KUj1FpyzaCMeUtLvBGgJE2/3jRTZMWDi8a7bwBE9M
MTO4I73ln7BhPblBRUkIJli2CmmPHl4Jk5WReyGZ0jSxq2aqklxNJM+PmiYsT36o
EmC7571zZdiluewMHk1qfNAdEOLHWa8O7gMFElY8/WviRIWF63iw2rv/p+Sxqx4W
hIKYh8gR0TO0kg9D825GOfxl0rmUcGvNFC7VyZLBQP+LXxQr+9SBVzW7h+1o7Jsa
wZEOkuLYrGEbB0D2LhqfmiOsfc+Z1/u8Th9tjVlHowSTNHtMq1WDHYoGUHLmvmUo
be52yEX9XUXaIkaQ/4j2EpMramBGbIxxzkDLrnDY4rUxcgK6MSm7Io7Qg3Hj/P6R
C62a6uXU3/7oObQ=
=bmK1
-----END PGP SIGNATURE-----