Description of problem: Boost 1.63 introduced some logic in Boost.asio that expects ERR_PACK, ERR_LIB_SSL, and SSL_R_SHORT_READ to be defined. boost/asio/ssl/error.hpp lines 47-48 #elif (OPENSSL_VERSION_NUMBER < 0x10100000L) && !defined(OPENSSL_IS_BORINGSSL) stream_truncated = ERR_PACK(ERR_LIB_SSL, 0, SSL_R_SHORT_READ) Since these are not defined by anything other libraries that pull in Boost, such as rb_libtorrent, fail to build. I expect that this #elfi block is not meant to be used in Fedora and it needs to be cleaned up. rb_libtorrent build failure: https://koji.fedoraproject.org/koji/buildinfo?buildID=855962
I suspect those lines were meant to be used, but this is more fallout of the move from openssl 1.0.1 to 1.1.0 and the version check doesn't work with 1.0.1
In F24: # define OPENSSL_VERSION_NUMBER 0x100020bfL In rawhide: # define OPENSSL_VERSION_NUMBER 0x1010004fL These are both less than 0x10100000L so the test passes in both cases. I think there are too many zeros in 0x10100000L. I'll fix it and report it upstream.
Oops, no it isn't ... I can't count! So something else is going on.
Maybe OPENSSL_VERSION_NUMBER simply isn't defined at that point and so expands to 0, I'll check that.
The problem is these lines in the rb_libtorrent test_ssl.cpp file: #ifdef TORRENT_USE_OPENSSL #include <boost/asio/ssl/error.hpp> // for asio::error::get_ssl_category() #include <boost/asio/ssl.hpp> This includes the definition of asio::error::get_ssl_category() before the OPENSSL_VERSION_NUMBER macro has been defined. Reversing the order of those two includes (or simply removing the first one) fixes the build.
I've reported this to https://github.com/chriskohlhoff/asio/issues/184
rb_libtorrent is fixed. I'll keep this open until I hear from upstream about the header order dependency.
This bug appears to have been reported against 'rawhide' during the Fedora 26 development cycle. Changing version to '26'.
boost-1.63.0-9.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-87acef340c
boost-1.63.0-9.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-87acef340c
boost-1.63.0-9.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.