Public bug reported:

Imported from Debian bug http://bugs.debian.org/1138404:

Package: opendht
Version: 3.0.1-1.1
Severity: normal
Tags: sid
control: affects -1 src:openssl
User: [email protected]
Usertags: openssl-4.0

OpenSSL 4.0 is in experimental. This package fails to build against it:

| /usr/bin/c++ -DASIO_STANDALONE -DFMT_SHARED -DOPENDHT_BUILD 
-DOPENDHT_INDEXATION -DOPENDHT_JSONCPP -DOPENDHT_PEER_DISCOVERY 
-DOPENDHT_PROXY_CLIENT -DOPENDHT_PROXY_SERVER -DOPENDHT_PUSH_NOTIFICATIONS 
-DPACKAGE_VERSION=\"3.0.0\" -Dopendht_EXPORTS 
-I/build/reproducible-path/opendht-3.0.1/. 
-I/build/reproducible-path/opendht-3.0.1/include 
-I/build/reproducible-path/opendht-3.0.1/include/opendht 
-I/build/reproducible-path/opendht-3.0.1/obj-x86_64-linux-gnu/include -isystem 
/usr/include/p11-kit-1 -isystem /usr/include/jsoncpp -g -O2 
-ffile-prefix-map=/build/reproducible-path/opendht-3.0.1=. 
-fstack-protector-strong -fstack-clash-protection -Wformat 
-Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 
-Wno-return-type -Wno-deprecated -Wall -Wextra -Wnon-virtual-dtor 
-pedantic-errors -fvisibility=hidden -DMSGPACK_NO_BOOST 
-DMSGPACK_DISABLE_LEGACY_NIL -DMSGPACK_DISABLE_LEGACY_CONVERT -std=gnu++17 
-fPIC -MD -MT CMakeFiles/opendht.dir/src/dht_proxy_server.cpp.o -MF 
CMakeFiles/opendht.dir/src/dht_proxy_server.cpp.o.d -o 
CMakeFiles/opendht.dir/src/dht_proxy_server.cpp.o -c 
/build/reproducible-path/opendht-3.0.1/src/dht_proxy_server.cpp
| In file included from /usr/include/asio/ssl/rfc2818_verification.hpp:93,
|                  from /usr/include/asio/ssl.hpp:21,
|                  from /usr/include/restinio/impl/tls_socket.hpp:14,
|                  from /usr/include/restinio/tls.hpp:12,
|                  from 
/build/reproducible-path/opendht-3.0.1/include/opendht/dht_proxy_server.h:33,
|                  from 
/build/reproducible-path/opendht-3.0.1/src/dht_proxy_server.cpp:25:
| /usr/include/asio/ssl/impl/rfc2818_verification.ipp: In member function 
‘bool asio::ssl::rfc2818_verification::operator()(bool, 
asio::ssl::verify_context&) const’:
| /usr/include/asio/ssl/impl/rfc2818_verification.ipp:65:17: error: invalid use 
of incomplete type ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
|    65 |       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/asio/ssl/detail/openssl_types.hpp:23,
|                  from /usr/include/asio/ssl/context_base.hpp:19,
|                  from /usr/include/asio/ssl/context.hpp:23,
|                  from 
/build/reproducible-path/opendht-3.0.1/include/opendht/http.h:32,
|                  from 
/build/reproducible-path/opendht-3.0.1/include/opendht/dht_proxy_server.h:30:
| /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/asio/ssl/impl/rfc2818_verification.ipp:65:53: error: invalid use 
of incomplete type ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
|    65 |       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/asio/ssl/impl/rfc2818_verification.ipp:65:69: error: invalid use 
of incomplete type ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
|    65 |       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/asio/ssl/impl/rfc2818_verification.ipp:67:67: error: invalid use 
of incomplete type ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
|    67 |         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/asio/ssl/impl/rfc2818_verification.ipp:68:44: error: invalid use 
of incomplete type ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
|    68 |         std::size_t pattern_length = 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/asio/ssl/impl/rfc2818_verification.ipp:79:21: error: invalid use 
of incomplete type ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|    79 |       if (ip_address->type == V_ASN1_OCTET_STRING && ip_address->data)
|       |                     ^~
| /usr/include/openssl/types.h:57:16: note: forward declaration of 
‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|    57 | typedef struct asn1_string_st ASN1_INTEGER;
|       |                ^~~~~~~~~~~~~~
| /usr/include/asio/ssl/impl/rfc2818_verification.ipp:79:64: error: invalid use 
of incomplete type ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|    79 |       if (ip_address->type == V_ASN1_OCTET_STRING && ip_address->data)
|       |                                                                ^~
| /usr/include/openssl/types.h:57:16: note: forward declaration of 
‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|    57 | typedef struct asn1_string_st ASN1_INTEGER;
|       |                ^~~~~~~~~~~~~~
| /usr/include/asio/ssl/impl/rfc2818_verification.ipp:81:42: error: invalid use 
of incomplete type ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|    81 |         if (address.is_v4() && ip_address->length == 4)
|       |                                          ^~
| /usr/include/openssl/types.h:57:16: note: forward declaration of 
‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|    57 | typedef struct asn1_string_st ASN1_INTEGER;
|       |                ^~~~~~~~~~~~~~
| /usr/include/asio/ssl/impl/rfc2818_verification.ipp:84:46: error: invalid use 
of incomplete type ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|    84 |           if (memcmp(bytes.data(), ip_address->data, 4) == 0)
|       |                                              ^~
| /usr/include/openssl/types.h:57:16: note: forward declaration of 
‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|    57 | typedef struct asn1_string_st ASN1_INTEGER;
|       |                ^~~~~~~~~~~~~~
| /usr/include/asio/ssl/impl/rfc2818_verification.ipp:90:47: error: invalid use 
of incomplete type ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|    90 |         else if (address.is_v6() && ip_address->length == 16)
|       |                                               ^~
| /usr/include/openssl/types.h:57:16: note: forward declaration of 
‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|    57 | typedef struct asn1_string_st ASN1_INTEGER;
|       |                ^~~~~~~~~~~~~~
| /usr/include/asio/ssl/impl/rfc2818_verification.ipp:93:46: error: invalid use 
of incomplete type ‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|    93 |           if (memcmp(bytes.data(), ip_address->data, 16) == 0)
|       |                                              ^~
| /usr/include/openssl/types.h:57:16: note: forward declaration of 
‘ASN1_OCTET_STRING’ {aka ‘struct asn1_string_st’}
|    57 | typedef struct asn1_string_st ASN1_INTEGER;
|       |                ^~~~~~~~~~~~~~
| /usr/include/asio/ssl/impl/rfc2818_verification.ipp:106:42: error: invalid 
conversion from ‘const X509_NAME*’ {aka ‘const X509_name_st*’} to 
‘X509_NAME*’ {aka ‘X509_name_st*’} [-fpermissive]
|   106 |   X509_NAME* name = X509_get_subject_name(cert);
|       |                     ~~~~~~~~~~~~~~~~~~~~~^~~~~~
|       |                                          |
|       |                                          const X509_NAME* {aka const 
X509_name_st*}
…

Full buildlog
        
https://breakpoint.cc/openssl-rebuild/logs-4/attempted/opendht_3.0.1-1.1_amd64-2026-04-19T07:48:06Z

Sebastian

** Affects: opendht (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: opendht (Debian)
     Importance: Undecided
         Status: New


** Tags: ftbfs openssl-4.0

** Bug watch added: Debian Bug tracker #1138404
   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1138404

** Changed in: opendht (Debian)
 Remote watch: None => Debian Bug tracker #1138404

** Tags added: ftbfs openssl-4.0

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2154950

Title:
  opendht: FTBFS with openssl 4.0

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/opendht/+bug/2154950/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to