[Pkg-openssl-devel] Bug#1139231: boost1.83: FTBFS with openssl 4.0

Sebastian Andrzej Siewior sebastian at breakpoint.cc
Sun Jun 7 13:49:33 BST 2026


Package: boost1.83
Version: 1.83.0-5
Severity: normal
Tags: sid
control: affects -1 src:openssl src:ceph
User: pkg-openssl-devel at lists.alioth.debian.org
Usertags: openssl-4.0

OpenSSL 4.0 is in experimental. The cepth package fails to build against it:
| [ 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/HttpClient.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

The ceph package needs a few caress to get that far but this is last
error I got. Not sure what the best way of reporting this is.
Looking at 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



More information about the Pkg-openssl-devel mailing list