OpenSSL 4.0 is in experimental. This package fails to build against it:
| [ 31%] Building CXX object RobotRaconteurCore/CMakeFiles/RobotRaconteurCore.dir/src/OpenSSLAuthContext.cpp.o
| cd /build/reproducible-path/robotraconteur-1.2.7/obj-x86_64-linux-gnu/RobotRaconteurCore && /usr/bin/x86_64-linux-gnu-g++ -DBOOST_ATOMIC_DYN_LINK -DBOOST_ATOMIC_NO_LIB -DBOOST_CHRONO_DYN_LINK -DBOOST_CHRONO_NO_LIB -DBOOST_CONTAINER_DYN_LINK -DBOOST_CONTAINER_NO_LIB -DBOOST_DATE_TIME_DYN_LINK -DBOOST_DATE_TIME_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_FILESYSTEM_NO_LIB -DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_PROGRAM_OPTIONS_NO_LIB -DBOOST_RANDOM_DYN_LINK -DBOOST_RANDOM_NO_LIB -DBOOST_REGEX_DYN_LINK -DBOOST_REGEX_NO_LIB -DBOOST_THREAD_DYN_LINK -DBOOST_THREAD_NO_LIB -DROBOTRACONTEUR_CORE_EXPORTS -DROBOTRACONTEUR_USE_OPENSSL -DRobotRaconteurCore_EXPORTS -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/libusb-1.0 -I/build/reproducible-path/robotraconteur-1.2.7/RobotRaconteurCore/include -g -O2 -ffile-prefix-map=/build/reproducible-path/robotraconteur-1.2.7=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -fPIC -MD -MT RobotRaconteurCore/CMakeFiles/RobotRaconteurCore.dir/src/OpenSSLAuthContext.cpp.o -MF CMakeFiles/RobotRaconteurCore.dir/src/OpenSSLAuthContext.cpp.o.d -o CMakeFiles/RobotRaconteurCore.dir/src/OpenSSLAuthContext.cpp.o -c /build/reproducible-path/robotraconteur-1.2.7/RobotRaconteurCore/src/OpenSSLAuthContext.cpp
| /build/reproducible-path/robotraconteur-1.2.7/RobotRaconteurCore/src/OpenSSLAuthContext.cpp: In function ‘bool RobotRaconteur::detail::OpenSSLSupport::verify_callback(bool, boost::asio::ssl::verify_context&)’:
| /build/reproducible-path/robotraconteur-1.2.7/RobotRaconteurCore/src/OpenSSLAuthContext.cpp:109:48: error: invalid conversion from ‘const X509_NAME*’ {aka ‘const X509_name_st*’} to ‘X509_NAME*’ {aka ‘X509_name_st*’} [-fpermissive]
| 109 | X509_NAME* sub_name = X509_get_subject_name(cert);
| | ~~~~~~~~~~~~~~~~~~~~~^~~~~~
| | |
| | const X509_NAME* {aka const X509_name_st*}
| /build/reproducible-path/robotraconteur-1.2.7/RobotRaconteurCore/src/OpenSSLAuthContext.cpp:110:47: error: invalid conversion from ‘const X509_NAME*’ {aka ‘const X509_name_st*’} to ‘X509_NAME*’ {aka ‘X509_name_st*’} [-fpermissive]
| 110 | X509_NAME* iss_name = X509_get_issuer_name(cert);
| | ~~~~~~~~~~~~~~~~~~~~^~~~~~
| | |
| | const X509_NAME* {aka const X509_name_st*}
| /build/reproducible-path/robotraconteur-1.2.7/RobotRaconteurCore/src/OpenSSLAuthContext.cpp:127:45: error: invalid conversion from ‘const X509_EXTENSION*’ {aka ‘const X509_extension_st*’} to ‘X509_EXTENSION*’ {aka ‘X509_extension_st*’} [-fpermissive]
| 127 | X509_EXTENSION* e = X509_get_ext(cert, i);
| | ~~~~~~~~~~~~^~~~~~~~~
| | |
| | const X509_EXTENSION* {aka const X509_extension_st*}
| /build/reproducible-path/robotraconteur-1.2.7/RobotRaconteurCore/src/OpenSSLAuthContext.cpp:132:63: error: invalid conversion from ‘const ASN1_OBJECT*’ {aka ‘const asn1_object_st*’} to ‘ASN1_OBJECT*’ {aka ‘asn1_object_st*’} [-fpermissive]
| 132 | ASN1_OBJECT* obj = ::X509_EXTENSION_get_object(e);
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
| | |
| | const ASN1_OBJECT* {aka const asn1_object_st*}
| /build/reproducible-path/robotraconteur-1.2.7/RobotRaconteurCore/src/OpenSSLAuthContext.cpp: In member function ‘bool RobotRaconteur::detail::OpenSSLAuthContext::VerifyRemoteNodeCertificate(SSL*, const RobotRaconteur::NodeID&)’:
| /build/reproducible-path/robotraconteur-1.2.7/RobotRaconteurCore/src/OpenSSLAuthContext.cpp:486:41: error: invalid conversion from ‘const X509_EXTENSION*’ {aka ‘const X509_extension_st*’} to ‘X509_EXTENSION*’ {aka ‘X509_extension_st*’} [-fpermissive]
| 486 | X509_EXTENSION* e = X509_get_ext(cert, i);
| | ~~~~~~~~~~~~^~~~~~~~~
| | |
| | const X509_EXTENSION* {aka const X509_extension_st*}
| /build/reproducible-path/robotraconteur-1.2.7/RobotRaconteurCore/src/OpenSSLAuthContext.cpp:491:59: error: invalid conversion from ‘const ASN1_OBJECT*’ {aka ‘const asn1_object_st*’} to ‘ASN1_OBJECT*’ {aka ‘asn1_object_st*’} [-fpermissive]
| 491 | ASN1_OBJECT* obj = ::X509_EXTENSION_get_object(e);
| | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
| | |
| | const ASN1_OBJECT* {aka const asn1_object_st*}
| make[4]: *** [RobotRaconteurCore/CMakeFiles/RobotRaconteurCore.dir/build.make:754: RobotRaconteurCore/CMakeFiles/RobotRaconteurCore.dir/src/OpenSSLAuthContext.cpp.o] Error 1
Full buildlog
https://breakpoint.cc/openssl-rebuild/logs-4/attempted/robotraconteur_1.2.7-2_amd64-2026-06-16T20:01:28Z
Sebastian