Bug 2491640 - thrift-0.20.0-11.fc45 FTBFS: src/thrift/transport/TSSLSocket.cpp:182:24: error: 'SSLv3_method' was not declared
Summary: thrift-0.20.0-11.fc45 FTBFS: src/thrift/transport/TSSLSocket.cpp:182:24: erro...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: thrift
Version: 45
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Kaleb KEITHLEY
QA Contact: Fedora Extras Quality Assurance
URL: https://koschei.fedoraproject.org//pa...
Whiteboard:
Depends On:
Blocks: F45FTBFS PYTHON3.15b4
TreeView+ depends on / blocked
 
Reported: 2026-06-23 07:40 UTC by Petr Pisar
Modified: 2026-08-06 13:49 UTC (History)
2 users (show)

Fixed In Version: thrift-0.20.0-13.fc45
Clone Of:
Environment:
Last Closed: 2026-08-05 17:26:24 UTC
Type: Bug
Embargoed:
ctubbsii: needinfo-


Attachments (Terms of Use)

Description Petr Pisar 2026-06-23 07:40:51 UTC
thrift-0.20.0-11.fc45 fails to build in Fedora 45:

libtool: compile:  g++ -std=c++11 -DHAVE_CONFIG_H -I/usr/include -I./src -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Wall -Wextra -pedantic -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -c src/thrift/transport/TSSLSocket.cpp  -fPIC -DPIC -o src/thrift/transport/.libs/TSSLSocket.o
[...]
src/thrift/transport/TSSLSocket.cpp: In constructor 'apache::thrift::transport::SSLContext::SSLContext(const apache::thrift::transport::SSLProtocol&)':
src/thrift/transport/TSSLSocket.cpp:182:24: error: 'SSLv3_method' was not declared in this scope; did you mean 'SSLv23_method'?
  182 |     ctx_ = SSL_CTX_new(SSLv3_method());
      |                        ^~~~~~~~~~~~
      |                        SSLv23_method
src/thrift/transport/TSSLSocket.cpp:185:24: error: 'TLSv1_method' was not declared in this scope; did you mean 'TLS_method'?
  185 |     ctx_ = SSL_CTX_new(TLSv1_method());
      |                        ^~~~~~~~~~~~
      |                        TLS_method
src/thrift/transport/TSSLSocket.cpp:187:24: error: 'TLSv1_1_method' was not declared in this scope; did you mean 'TLS_method'?
  187 |     ctx_ = SSL_CTX_new(TLSv1_1_method());
      |                        ^~~~~~~~~~~~~~
      |                        TLS_method
src/thrift/transport/TSSLSocket.cpp:189:24: error: 'TLSv1_2_method' was not declared in this scope; did you mean 'TLS_method'?
  189 |     ctx_ = SSL_CTX_new(TLSv1_2_method());
      |                        ^~~~~~~~~~~~~~
      |                        TLS_method
src/thrift/transport/TSSLSocket.cpp: In member function 'virtual void apache::thrift::transport::TSSLSocket::authorize()':
src/thrift/transport/TSSLSocket.cpp:758:27: error: 'ASN1_STRING_data' was not declared in this scope; did you mean 'ASN1_STRING_set0'?
  758 |       char* data = (char*)ASN1_STRING_data(name->d.ia5);
      |                           ^~~~~~~~~~~~~~~~
      |                           ASN1_STRING_set0
src/thrift/transport/TSSLSocket.cpp:784:42: error: invalid conversion from 'const X509_NAME*' {aka 'const X509_name_st*'} to 'X509_NAME*' {aka 'X509_name_st*'} [-fpermissive]
  784 |   X509_NAME* name = X509_get_subject_name(cert);
      |                     ~~~~~~~~~~~~~~~~~~~~~^~~~~~
      |                                          |
      |                                          const X509_NAME* {aka const X509_name_st*}
src/thrift/transport/TSSLSocket.cpp:793:34: error: invalid conversion from 'const X509_NAME_ENTRY*' {aka 'const X509_name_entry_st*'} to 'X509_NAME_ENTRY*' {aka 'X509_name_entry_st*'} [-fpermissive]
  793 |       entry = X509_NAME_get_entry(name, last);
      |               ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
      |                                  |
      |                                  const X509_NAME_ENTRY* {aka const X509_name_entry_st*}
src/thrift/transport/TSSLSocket.cpp:796:53: error: invalid conversion from 'const ASN1_STRING*' {aka 'const asn1_string_st*'} to 'ASN1_STRING*' {aka 'asn1_string_st*'} [-fpermissive]
  796 |       ASN1_STRING* common = X509_NAME_ENTRY_get_data(entry);
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
      |                                                     |
      |                                                     const ASN1_STRING* {aka const asn1_string_st*}

This is triggered by upgrading openssl-devel from 1:3.5.7-1.fc45 to 1:4.0.1-1.fc45. OpenSSL 4 removed support for SSLv3 <https://github.com/openssl/openssl/releases/tag/openssl-4.0.0>.

Comment 1 Miro Hrončok 2026-07-31 10:42:48 UTC
In https://bodhi.fedoraproject.org/updates/FEDORA-2026-2551d0d66b we have shipped Python 3.15.0b4.

All packages that link to libpython or have extension modules should be rebuilt, or they will segfault on import/usage.

Packages using stable ABI might not need a rebuild.

This package was not rebuilt because we were unable to do so.
Please rebuild it with Python 3.15.0b4+ ASAP. Thanks

Comment 2 Kaleb KEITHLEY 2026-08-05 17:04:52 UTC
I don't see that this has anything do do with Python 3.15.0b4.

Two previous attempts to build with openssl, i.e. openssl4, in rawhide/45[1][2] both failed.

Reverting to openssl3, which fortunately still exists, for now. Even thrift-0.24.0 (latest as of this writing) still requires openssl3.

N.B. I don't remember how I became the main admin of this package. Originally I asked that it be built in EPEL10, and I believe I was added as an admin so that I could build the EPEL10 rpms.

[1]https://koji.fedoraproject.org/koji/buildinfo?buildID=3017102
[2]https://koji.fedoraproject.org/koji/buildinfo?buildID=3058232

Comment 3 Fedora Update System 2026-08-05 17:20:53 UTC
FEDORA-2026-a31f506234 (thrift-0.20.0-13.fc45) has been submitted as an update to Fedora 45.
https://bodhi.fedoraproject.org/updates/FEDORA-2026-a31f506234

Comment 4 Fedora Update System 2026-08-05 17:26:24 UTC
FEDORA-2026-a31f506234 (thrift-0.20.0-13.fc45) has been pushed to the Fedora 45 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 5 Miro Hrončok 2026-08-06 13:49:59 UTC
(In reply to Kaleb KEITHLEY from comment #2)
> I don't see that this has anything do do with Python 3.15.0b4.

Python 3.15.0b4 is not the reason this did not build. But we needed to rebuild this *for* Python 3.15.0b4 as the ABI has changed.


Note You need to log in before you can comment on or make changes to this bug.