[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