[Pkg-openssl-devel] Bug#1139227: ceph: FTBFS with openssl 4.0

Sebastian Andrzej Siewior sebastian at breakpoint.cc
Sun Jun 7 13:48:23 BST 2026


Package: ceph
Version: 18.2.8+ds-1
Severity: normal
Tags: sid patch
control: affects -1 src:openssl
User: pkg-openssl-devel at lists.alioth.debian.org
Usertags: openssl-4.0

OpenSSL 4.0 is in experimental. This package fails to build against it:
| CMake Error at src/pybind/CMakeLists.txt:74 (message):
|   Python and Ceph link to different OpenSSL versions: 3.6.0
| 
|    vs 4.0.0
| 
| 
| -- Configuring incomplete, errors occurred!

Full buildlog
 	https://breakpoint.cc/openssl-rebuild/logs-4/attempted/ceph_18.2.8+ds-1_amd64-2026-04-19T10:26:57Z

This because the major version is different between python and system.
If we ignore this one, then it complains about the usage engine.
And if we ignore this one, then it complains about the openssl usage in boost:

| [ 57%] Building CXX object src/librbd/CMakeFiles/rbd_internal.dir/migration/HttpClient.cc.o
| cd /build/reproducible-path/ceph-18.2.8+ds/obj-x86_64-linux-gnu/src/librbd && /usr/bin/c++ -DBOOST_ASIO_DISABLE_THREAD_KEYWORD_EXTENSION -DBOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT -DBOOST_ATOMI C_DYN_LINK -DBOOST_ATOMIC_NO_LIB -DBOOST_DATE_TIME_DYN_LINK -DBOOST_DATE_TIME_NO_LIB -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_IOSTREAMS_NO_LIB -DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_PROGRAM_OPTI ONS_NO_LIB -DBOOST_RANDOM_DYN_LINK -DBOOST_RANDOM_NO_LIB -DBOOST_SYSTEM_DYN_LINK -DBOOST_SYSTEM_NO_LIB -DBOOST_THREAD_DYN_LINK -DBOOST_THREAD_NO_LIB -DHAVE_CONFIG_H -D_FILE_OFFSET_BITS=64 -D _FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_REENTRANT -D_THREAD_SAFE -D__CEPH__ -D__STDC_FORMAT_MACROS -D__linux__ -I/build/reproducible-path/ceph-18.2.8+ds/obj-x86_64-linux-gnu/src/include -I/build/ reproducible-path/ceph-18.2.8+ds/src -isystem /build/reproducible-path/ceph-18.2.8+ds/obj-x86_64-linux-gnu/include -isystem /build/reproducible-path/ceph-18.2.8+ds/src/xxHash -g -O2 -ffile-p refix-map=/build/reproducible-path/ceph-18.2.8+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -DFMT_DEPRECATED_OSTREAM -fpermissive - Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/ceph-18.2.8+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-prot ection -DFMT_DEPRECATED_OSTREAM -fpermissive -std=c++20 -fPIC   -U_FORTIFY_SOURCE -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -Wall -fno-strict-aliasing -f signed-char -Wtype-limits -Wignored-qualifiers -Wpointer-arith -Werror=format-security -Winit-self -Wno-unknown-pragmas -Wnon-virtual-dtor -Wno-ignored-qualifiers -ftemplate-depth-1024 -Wpes simizing-move -Wredundant-move -Wstrict-null-sentinel -Woverloaded-virtual -fstack-protector-strong -fdiagnostics-color=auto -MD -MT src/librbd/CMakeFiles/rbd_internal.dir/migration/HttpClie nt.cc.o -MF CMakeFiles/rbd_internal.dir/migration/HttpClient.cc.o.d -o CMakeFiles/rbd_internal.dir/migration/HttpClient.cc.o -c /build/reproducible-path/ceph-18.2.8+ds/src/librbd/migration/H ttpClient.cc     
| In file included from /build/reproducible-path/ceph-18.2.8+ds/src/common/dout.h:29,
|                  from /build/reproducible-path/ceph-18.2.8+ds/src/librbd/migration/HttpClient.cc:5:
| /build/reproducible-path/ceph-18.2.8+ds/src/common/ceph_context.h: In member function ‘void ceph::common::CephContext::set_mon_addrs(const std::vector<entity_addrvec_t>&)’:
| /build/reproducible-path/ceph-18.2.8+ds/src/common/ceph_context.h:285:26: warning: ‘void std::atomic_store_explicit(shared_ptr<_Tp>*, shared_ptr<_Tp>, memory_order) [with _Tp = vector<entity _addrvec_t>]’ is deprecated: use 'std::atomic<std::shared_ptr<T>>' instead [-Wdeprecated-declarations]
|   285 |     atomic_store_explicit(&_mon_addrs, std::move(ptr), std::memory_order_relaxed);
|       |     ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| In file included from /usr/include/c++/15/memory:83,
|                  from /build/reproducible-path/ceph-18.2.8+ds/src/include/rados/buffer.h:44,
|                  from /build/reproducible-path/ceph-18.2.8+ds/src/include/rados/rados_types.hpp:10,
|                  from /build/reproducible-path/ceph-18.2.8+ds/src/librbd/io/Types.h:8,
|                  from /build/reproducible-path/ceph-18.2.8+ds/src/librbd/migration/HttpClient.h:9,
|                  from /build/reproducible-path/ceph-18.2.8+ds/src/librbd/migration/HttpClient.cc:4:
| /usr/include/c++/15/bits/shared_ptr_atomic.h:173:5: note: declared here
|   173 |     atomic_store_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r,
|       |     ^~~~~~~~~~~~~~~~~~~~~
| /build/reproducible-path/ceph-18.2.8+ds/src/common/ceph_context.h: In member function ‘std::shared_ptr<std::vector<entity_addrvec_t> > ceph::common::CephContext::get_mon_addrs() const’:
| /build/reproducible-path/ceph-18.2.8+ds/src/common/ceph_context.h:288:36: warning: ‘std::shared_ptr<_Tp> std::atomic_load_explicit(const shared_ptr<_Tp>*, memory_order) [with _Tp = vector<en tity_addrvec_t>]’ is deprecated: use 'std::atomic<std::shared_ptr<T>>' instead [-Wdeprecated-declarations]
|   288 |     auto ptr = atomic_load_explicit(&_mon_addrs, std::memory_order_relaxed);
|       |                ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| /usr/include/c++/15/bits/shared_ptr_atomic.h:133:5: note: declared here
|   133 |     atomic_load_explicit(const shared_ptr<_Tp>* __p, memory_order)
|       |     ^~~~~~~~~~~~~~~~~~~~
| In file included from /usr/include/boost/asio/ssl/rfc2818_verification.hpp:95,
|                  from /usr/include/boost/asio/ssl.hpp:21,
|                  from /build/reproducible-path/ceph-18.2.8+ds/src/librbd/migration/HttpClient.cc:18:
| /usr/include/boost/asio/ssl/impl/rfc2818_verification.ipp: In member function ‘bool boost::asio::ssl::rfc2818_verification::operator()(bool, boost::asio::ssl::verify_context&) const’:
| /usr/include/boost/asio/ssl/impl/rfc2818_verification.ipp:66:17: error: invalid use of incomplete type ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
|    66 |       if (domain->type == V_ASN1_IA5STRING && domain->data && domain->length)
|       |                 ^~
| In file included from /usr/include/openssl/crypto.h:38,
|                  from /usr/include/openssl/bio.h:32,
|                  from /usr/include/openssl/conf.h:26,
|                  from /usr/include/boost/asio/ssl/detail/openssl_types.hpp:23,
|                  from /usr/include/boost/asio/ssl/context_base.hpp:19,
|                  from /usr/include/boost/asio/ssl/context.hpp:23,
|                  from /build/reproducible-path/ceph-18.2.8+ds/src/librbd/migration/HttpClient.h:15:
| /usr/include/openssl/types.h:57:16: note: forward declaration of ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
|    57 | typedef struct asn1_string_st ASN1_INTEGER;
|       |                ^~~~~~~~~~~~~~
| /usr/include/boost/asio/ssl/impl/rfc2818_verification.ipp:66:53: error: invalid use of incomplete type ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
|    66 |       if (domain->type == V_ASN1_IA5STRING && domain->data && domain->length)
|       |                                                     ^~
| /usr/include/openssl/types.h:57:16: note: forward declaration of ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
|    57 | typedef struct asn1_string_st ASN1_INTEGER;
|       |                ^~~~~~~~~~~~~~
| /usr/include/boost/asio/ssl/impl/rfc2818_verification.ipp:66:69: error: invalid use of incomplete type ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
| /usr/include/boost/asio/ssl/impl/rfc2818_verification.ipp:66:69: error: invalid use of incomplete type ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
|    66 |       if (domain->type == V_ASN1_IA5STRING && domain->data && domain->length)
|       |                                                                     ^~
| /usr/include/openssl/types.h:57:16: note: forward declaration of ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
|    57 | typedef struct asn1_string_st ASN1_INTEGER;
|       |                ^~~~~~~~~~~~~~
| /usr/include/boost/asio/ssl/impl/rfc2818_verification.ipp:68:67: error: invalid use of incomplete type ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
|    68 |         const char* pattern = reinterpret_cast<const char*>(domain->data);
|       |                                                                   ^~
| /usr/include/openssl/types.h:57:16: note: forward declaration of ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
|    57 | typedef struct asn1_string_st ASN1_INTEGER;
|       |                ^~~~~~~~~~~~~~
| /usr/include/boost/asio/ssl/impl/rfc2818_verification.ipp:69:44: error: invalid use of incomplete type ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
|    69 |         std::size_t pattern_length = domain->length;
|       |                                            ^~
…
| make[4]: *** [src/librbd/CMakeFiles/rbd_internal.dir/build.make:1706: src/librbd/CMakeFiles/rbd_internal.dir/migration/HttpClient.cc.o] Error 1

I am attaching a patch against the engine usage and am going fill a bug
against boost and hope this is it… 

Looking at (boost) upstream repository, this file
(rfc2818_verification.ipp) is gone as of commit 995eeab56906a ("Remove
deprecated class ssl::rfc2818_verification.") which is part of
boost-1.87.0.beta1.

Sebastian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Skip-engines-usage-on-OpenSSL-4.0.patch
Type: text/x-diff
Size: 1340 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-openssl-devel/attachments/20260607/87743365/attachment.patch>


More information about the Pkg-openssl-devel mailing list