[Pkg-openssl-devel] Bug#1138465: libtorrent-rasterbar: FTBFS with openssl 4.0

Sebastian Andrzej Siewior sebastian at breakpoint.cc
Sat May 30 17:19:55 BST 2026


Package: libtorrent-rasterbar
Version: 2.0.12-1
Severity: normal
Tags: sid
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:

| FAILED: [code=1] CMakeFiles/torrent-rasterbar.dir/src/torrent.cpp.o 
| /usr/bin/c++ -DBOOST_ASIO_ENABLE_CANCELIO -DBOOST_ASIO_HAS_STD_CHRONO -DBOOST_ASIO_NO_DEPRECATED -DBOOST_EXCEPTION_DISABLE -DOPENSSL_NO_DTLS1 -DOPENSSL_NO_SSL2 -DOPENSSL_NO_SSL3 -DOPENSSL_NO_TLS1 -DOPENSSL_NO_TLS1_1 -DTORRENT_BUILDING_LIBRARY -DTORRENT_BUILDING_SHARED -DTORRENT_SSL_PEERS -DTORRENT_USE_LIBCRYPTO -DTORRENT_USE_OPENSSL -D_FILE_OFFSET_BITS=64 -Dtorrent_rasterbar_EXPORTS -I/build/reproducible-path/libtorrent-rasterbar-2.0.12/include -I/build/reproducible-path/libtorrent-rasterbar-2.0.12/deps/try_signal -g -O2 -ffile-prefix-map=/build/reproducible-path/libtorrent-rasterbar-2.0.12=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wextra -Wpedantic -Wvla -Wno-noexcept-type -Wno-format-zero-length -ftemplate-depth=512 -fexceptions -MD -MT CMakeFiles/torrent-rasterbar.dir/src/torrent.cpp.o -MF CMakeFiles/torrent-rasterbar.dir/src/torrent.cpp.o.d -o CMakeFiles/torrent-rasterbar.dir/src/torrent.cpp.o -c /build/reproducible-path/libtorrent-rasterbar-2.0.12/src/torrent.cpp
| /build/reproducible-path/libtorrent-rasterbar-2.0.12/src/torrent.cpp: In member function ‘bool libtorrent::torrent::verify_peer_cert(bool, boost::asio::ssl::verify_context&)’:
| /build/reproducible-path/libtorrent-rasterbar-2.0.12/src/torrent.cpp:1629:35: error: invalid use of incomplete type ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
|  1629 |                         if (domain->type != V_ASN1_IA5STRING || !domain->data || !domain->length) continue;
|       |                                   ^~
| In file included from /usr/include/openssl/crypto.h:38,
|                  from /usr/include/openssl/comp.h:25,
|                  from /usr/include/openssl/ssl.h:31,
|                  from /build/reproducible-path/libtorrent-rasterbar-2.0.12/include/libtorrent/ssl.hpp:64,
|                  from /build/reproducible-path/libtorrent-rasterbar-2.0.12/include/libtorrent/tracker_manager.hpp:69,
|                  from /build/reproducible-path/libtorrent-rasterbar-2.0.12/include/libtorrent/alert_types.hpp:69,
|                  from /build/reproducible-path/libtorrent-rasterbar-2.0.12/include/libtorrent/piece_picker.hpp:60,
|                  from /build/reproducible-path/libtorrent-rasterbar-2.0.12/include/libtorrent/peer_list.hpp:48,
|                  from /build/reproducible-path/libtorrent-rasterbar-2.0.12/include/libtorrent/torrent.hpp:67,
|                  from /build/reproducible-path/libtorrent-rasterbar-2.0.12/src/torrent.cpp:68:
| /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;
|       |                ^~~~~~~~~~~~~~
| /build/reproducible-path/libtorrent-rasterbar-2.0.12/src/torrent.cpp:1629:72: error: invalid use of incomplete type ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
|  1629 |                         if (domain->type != V_ASN1_IA5STRING || !domain->data || !domain->length) continue;
|       |                                                                        ^~
| /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;
|       |                ^~~~~~~~~~~~~~
| /build/reproducible-path/libtorrent-rasterbar-2.0.12/src/torrent.cpp:1629:89: error: invalid use of incomplete type ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
|  1629 |                         if (domain->type != V_ASN1_IA5STRING || !domain->data || !domain->length) continue;
|       |                                                                                         ^~
| /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;
|       |                ^~~~~~~~~~~~~~
| /build/reproducible-path/libtorrent-rasterbar-2.0.12/src/torrent.cpp:1630:88: error: invalid use of incomplete type ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
|  1630 |                         auto const* torrent_name = reinterpret_cast<char const*>(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;
|       |                ^~~~~~~~~~~~~~
| /build/reproducible-path/libtorrent-rasterbar-2.0.12/src/torrent.cpp:1631:87: error: invalid use of incomplete type ‘ASN1_IA5STRING’ {aka ‘struct asn1_string_st’}
|  1631 |                         auto const name_length = aux::numeric_cast<std::size_t>(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;
|       |                ^~~~~~~~~~~~~~
| /build/reproducible-path/libtorrent-rasterbar-2.0.12/src/torrent.cpp:1653:56: error: invalid conversion from ‘const X509_NAME*’ {aka ‘const X509_name_st*’} to ‘X509_NAME*’ {aka ‘X509_name_st*’} [-fpermissive]
|  1653 |                 X509_NAME* name = X509_get_subject_name(cert);
|       |                                   ~~~~~~~~~~~~~~~~~~~~~^~~~~~
|       |                                                        |
|       |                                                        const X509_NAME* {aka const X509_name_st*}
| /build/reproducible-path/libtorrent-rasterbar-2.0.12/src/torrent.cpp:1658:74: error: invalid conversion from ‘const X509_NAME_ENTRY*’ {aka ‘const X509_name_entry_st*’} to ‘X509_NAME_ENTRY*’ {aka ‘X509_name_entry_st*’} [-fpermissive]
|  1658 |                         X509_NAME_ENTRY* name_entry = X509_NAME_get_entry(name, i);
|       |                                                       ~~~~~~~~~~~~~~~~~~~^~~~~~~~~
|       |                                                                          |
|       |                                                                          const X509_NAME_ENTRY* {aka const X509_name_entry_st*}
| /build/reproducible-path/libtorrent-rasterbar-2.0.12/src/torrent.cpp:1659:63: error: invalid conversion from ‘const ASN1_STRING*’ {aka ‘const asn1_string_st*’} to ‘ASN1_STRING*’ {aka ‘asn1_string_st*’} [-fpermissive]
|  1659 |                         common_name = X509_NAME_ENTRY_get_data(name_entry);
|       |                                       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
|       |                                                               |
|       |                                                               const ASN1_STRING* {aka const asn1_string_st*}
| /build/reproducible-path/libtorrent-rasterbar-2.0.12/src/torrent.cpp:1661:47: error: invalid use of incomplete type ‘ASN1_STRING’ {aka ‘struct asn1_string_st’}
|  1661 |                 if (common_name && common_name->data && common_name->length)
|       |                                               ^~
| /usr/include/openssl/types.h:57:16: note: forward declaration of ‘ASN1_STRING’ {aka ‘struct asn1_string_st’}
|    57 | typedef struct asn1_string_st ASN1_INTEGER;
|       |                ^~~~~~~~~~~~~~
| /build/reproducible-path/libtorrent-rasterbar-2.0.12/src/torrent.cpp:1661:68: error: invalid use of incomplete type ‘ASN1_STRING’ {aka ‘struct asn1_string_st’}
|  1661 |                 if (common_name && common_name->data && common_name->length)
|       |                                                                    ^~
| /usr/include/openssl/types.h:57:16: note: forward declaration of ‘ASN1_STRING’ {aka ‘struct asn1_string_st’}
|    57 | typedef struct asn1_string_st ASN1_INTEGER;
|       |                ^~~~~~~~~~~~~~
| /build/reproducible-path/libtorrent-rasterbar-2.0.12/src/torrent.cpp:1663:93: error: invalid use of incomplete type ‘ASN1_STRING’ {aka ‘struct asn1_string_st’}
|  1663 |                         auto const* torrent_name = reinterpret_cast<char const*>(common_name->data);
|       |                                                                                             ^~
| /usr/include/openssl/types.h:57:16: note: forward declaration of ‘ASN1_STRING’ {aka ‘struct asn1_string_st’}
|    57 | typedef struct asn1_string_st ASN1_INTEGER;
|       |                ^~~~~~~~~~~~~~
| /build/reproducible-path/libtorrent-rasterbar-2.0.12/src/torrent.cpp:1664:92: error: invalid use of incomplete type ‘ASN1_STRING’ {aka ‘struct asn1_string_st’}
|  1664 |                         auto const name_length = aux::numeric_cast<std::size_t>(common_name->length);
|       |                                                                                            ^~
| /usr/include/openssl/types.h:57:16: note: forward declaration of ‘ASN1_STRING’ {aka ‘struct asn1_string_st’}
|    57 | typedef struct asn1_string_st ASN1_INTEGER;
|       |                ^~~~~~~~~~~~~~
| ninja: build stopped: subcommand failed.
| dh_auto_build: error: cd obj-x86_64-linux-gnu && LC_ALL=C.UTF-8 ninja -j1 -v -d explain -d keepdepfile -d keeprsp returned exit code 1

Full buildlog
 	https://breakpoint.cc/openssl-rebuild/logs-4/attempted/libtorrent-rasterbar_2.0.12-1_amd64-2026-04-19T13:48:31Z

Sebastian



More information about the Pkg-openssl-devel mailing list