Package: boost1.83
Version: 1.83.0-5
Severity: normal
Tags: sid
control: affects -1 src:openssl src:ceph
User: [email protected]
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