Debian Bug report logs - #1097994
thrift: ftbfs with GCC-15

version graph

Package: src:thrift; Maintainer for src:thrift is Laszlo Boszormenyi (GCS) <[email protected]>;

Reported by: Matthias Klose <[email protected]>

Date: Mon, 17 Feb 2025 18:00:04 UTC

Severity: important

Tags: forky, sid

Found in version thrift/0.19.0-4

Reply or subscribe to this bug.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to Laszlo Boszormenyi (GCS) <[email protected]>:
Bug#1097994; Package src:thrift. (Mon, 17 Feb 2025 18:00:04 GMT) (full text, mbox, link).


Acknowledgement sent to Matthias Klose <[email protected]>:
New Bug report received and forwarded. Copy sent to Laszlo Boszormenyi (GCS) <[email protected]>. (Mon, 17 Feb 2025 18:00:05 GMT) (full text, mbox, link).


Message #5 received at [email protected] (full text, mbox, reply):

From: Matthias Klose <[email protected]>
To: [email protected]
Subject: thrift: ftbfs with GCC-15
Date: Mon, 17 Feb 2025 17:57:05 +0000
Package: src:thrift
Version: 0.19.0-4
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/thrift_0.19.0-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

[...]
 2052 | OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_1_method(void); /* TLSv1.1 */
      |                                                  ^~~~~~~~~~~~~~
src/thrift/transport/TSSLSocket.cpp:189:38: warning: 'const SSL_METHOD* TLSv1_2_method()' is deprecated: Since OpenSSL 1.1.0 [-Wdeprecated-declarations]
  189 |     ctx_ = SSL_CTX_new(TLSv1_2_method());
      |                        ~~~~~~~~~~~~~~^~
/usr/include/openssl/ssl.h:2060:50: note: declared here
 2060 | OSSL_DEPRECATEDIN_1_1_0 __owur const SSL_METHOD *TLSv1_2_method(void); /* TLSv1.2 */
      |                                                  ^~~~~~~~~~~~~~
src/thrift/transport/TSSLSocket.cpp: In member function 'virtual void apache::thrift::transport::TSSLSocket::authorize()':
src/thrift/transport/TSSLSocket.cpp:758:43: warning: 'unsigned char* ASN1_STRING_data(ASN1_STRING*)' is deprecated: Since OpenSSL 1.1.0 [-Wdeprecated-declarations]
  758 |       char* data = (char*)ASN1_STRING_data(name->d.ia5);
      |                           ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
In file included from /usr/include/openssl/objects.h:21,
                 from /usr/include/openssl/evp.h:44,
                 from /usr/include/openssl/rand.h:23,
                 from src/thrift/transport/TSSLSocket.cpp:52:
/usr/include/openssl/asn1.h:683:40: note: declared here
  683 | OSSL_DEPRECATEDIN_1_1_0 unsigned char *ASN1_STRING_data(ASN1_STRING *x);
      |                                        ^~~~~~~~~~~~~~~~
src/thrift/transport/TSSLSocket.cpp: At global scope:
src/thrift/transport/TSSLSocket.cpp:111:13: warning: 'void apache::thrift::transport::dyn_destroy(CRYPTO_dynlock_value*, const char*, int)' defined but not used [-Wunused-function]
  111 | static void dyn_destroy(struct CRYPTO_dynlock_value* lock, const char*, int) {
      |             ^~~~~~~~~~~
src/thrift/transport/TSSLSocket.cpp:101:13: warning: 'void apache::thrift::transport::dyn_lock(int, CRYPTO_dynlock_value*, const char*, int)' defined but not used [-Wunused-function]
  101 | static void dyn_lock(int mode, struct CRYPTO_dynlock_value* lock, const char*, int) {
      |             ^~~~~~~~
src/thrift/transport/TSSLSocket.cpp:97:30: warning: 'CRYPTO_dynlock_value* apache::thrift::transport::dyn_create(const char*, int)' defined but not used [-Wunused-function]
   97 | static CRYPTO_dynlock_value* dyn_create(const char*, int) {
      |                              ^~~~~~~~~~
src/thrift/transport/TSSLSocket.cpp:76:13: warning: 'void apache::thrift::transport::callbackLocking(int, int, const char*, int)' defined but not used [-Wunused-function]
   76 | static void callbackLocking(int mode, int n, const char*, int) {
      |             ^~~~~~~~~~~~~~~
libtool: compile:  g++ -std=c++11 -DHAVE_CONFIG_H -I/usr/include -I./src -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pedantic -g -O2 -ffile-prefix-map=/build/reproducible-path/thrift-0.19.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c src/thrift/transport/TSSLSocket.cpp -o src/thrift/transport/TSSLSocket.o >/dev/null 2>&1
/bin/bash ../../libtool  --tag=CXX   --mode=compile g++ -std=c++11 -DHAVE_CONFIG_H   -I/usr/include  -I./src -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pedantic -g -O2 -ffile-prefix-map=/build/reproducible-path/thrift-0.19.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o src/thrift/transport/TSocketPool.lo src/thrift/transport/TSocketPool.cpp
libtool: compile:  g++ -std=c++11 -DHAVE_CONFIG_H -I/usr/include -I./src -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pedantic -g -O2 -ffile-prefix-map=/build/reproducible-path/thrift-0.19.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c src/thrift/transport/TSocketPool.cpp  -fPIC -DPIC -o src/thrift/transport/.libs/TSocketPool.o
libtool: compile:  g++ -std=c++11 -DHAVE_CONFIG_H -I/usr/include -I./src -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pedantic -g -O2 -ffile-prefix-map=/build/reproducible-path/thrift-0.19.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c src/thrift/transport/TSocketPool.cpp -o src/thrift/transport/TSocketPool.o >/dev/null 2>&1
/bin/bash ../../libtool  --tag=CXX   --mode=compile g++ -std=c++11 -DHAVE_CONFIG_H   -I/usr/include  -I./src -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pedantic -g -O2 -ffile-prefix-map=/build/reproducible-path/thrift-0.19.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o src/thrift/transport/TServerSocket.lo src/thrift/transport/TServerSocket.cpp
libtool: compile:  g++ -std=c++11 -DHAVE_CONFIG_H -I/usr/include -I./src -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pedantic -g -O2 -ffile-prefix-map=/build/reproducible-path/thrift-0.19.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c src/thrift/transport/TServerSocket.cpp  -fPIC -DPIC -o src/thrift/transport/.libs/TServerSocket.o
libtool: compile:  g++ -std=c++11 -DHAVE_CONFIG_H -I/usr/include -I./src -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pedantic -g -O2 -ffile-prefix-map=/build/reproducible-path/thrift-0.19.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c src/thrift/transport/TServerSocket.cpp -o src/thrift/transport/TServerSocket.o >/dev/null 2>&1
/bin/bash ../../libtool  --tag=CXX   --mode=compile g++ -std=c++11 -DHAVE_CONFIG_H   -I/usr/include  -I./src -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pedantic -g -O2 -ffile-prefix-map=/build/reproducible-path/thrift-0.19.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o src/thrift/transport/TSSLServerSocket.lo src/thrift/transport/TSSLServerSocket.cpp
libtool: compile:  g++ -std=c++11 -DHAVE_CONFIG_H -I/usr/include -I./src -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pedantic -g -O2 -ffile-prefix-map=/build/reproducible-path/thrift-0.19.0=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c src/thrift/transport/TSSLServerSocket.cpp  -fPIC -DPIC -o src/thrift/transport/.libs/TSSLServerSocket.o
In file included from ./src/thrift/transport/TServerSocket.h:25,
                 from ./src/thrift/transport/TSSLServerSocket.h:23,
                 from src/thrift/transport/TSSLServerSocket.cpp:21:
./src/thrift/concurrency/Mutex.h:47:26: error: 'int64_t' has not been declared
   47 |   virtual bool timedlock(int64_t milliseconds) const;
      |                          ^~~~~~~
./src/thrift/concurrency/Mutex.h:25:1: note: 'int64_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
   24 | #include <thrift/TNonCopyable.h>
  +++ |+#include <cstdint>
   25 | 
./src/thrift/concurrency/Mutex.h:60:29: error: 'int64_t' has not been declared
   60 |   Guard(const Mutex& value, int64_t timeout = 0) : mutex_(&value) {
      |                             ^~~~~~~
./src/thrift/concurrency/Mutex.h:60:29: note: 'int64_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
make[6]: *** [Makefile:1316: src/thrift/transport/TSSLServerSocket.lo] Error 1
make[6]: Leaving directory '/build/reproducible-path/thrift-0.19.0/lib/cpp'
make[5]: *** [Makefile:1591: all-recursive] Error 1
make[5]: Leaving directory '/build/reproducible-path/thrift-0.19.0/lib/cpp'
make[4]: *** [Makefile:580: all-recursive] Error 1
make[4]: Leaving directory '/build/reproducible-path/thrift-0.19.0/lib'
make[3]: *** [Makefile:693: all-recursive] Error 1
make[3]: Leaving directory '/build/reproducible-path/thrift-0.19.0'
make[2]: *** [Makefile:609: all] Error 2
make[2]: Leaving directory '/build/reproducible-path/thrift-0.19.0'
dh_auto_build: error: make -j1 returned exit code 2
make[1]: *** [debian/rules:90: override_dh_auto_build] Error 25
make[1]: Leaving directory '/build/reproducible-path/thrift-0.19.0'
make: *** [debian/rules:142: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



Send a report that this bug log contains spam.


Debian bug tracking system administrator <[email protected]>. Last modified: Tue May 13 15:22:24 2025; Machine Name: bembo

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU General Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.