FS#48620 - [asio] 1.10.6-1 does not build with OpenSSL 1.0.2.g-3

Attached to Project: Arch Linux
Opened by Fabian Schlager (Tyrant) - Thursday, 17 March 2016, 13:02 GMT
Last edited by Jan de Groot (JGC) - Sunday, 14 May 2017, 20:39 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Giovanni Scafora (giovanni)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 3
Private No

Details

Description:

I fetched the PKGBUILD and ran makepkg, resulting in the following:

asio 1.10.6-1 does not build with OpenSSL 1.0.2.g-3 because of a few missing methods:

In file included from ./../../../include/asio/ssl/context.hpp:784:0,
from ./../../../include/asio/ssl.hpp:19,
from ssl/server.cpp:15:
./../../../include/asio/ssl/impl/context.ipp: In constructor ‘asio::ssl::context::context(asio::ssl::context_base::method)’:
./../../../include/asio/ssl/impl/context.ipp:92:29: error: ‘::SSLv3_method’ has not been declared
handle_ = ::SSL_CTX_new(::SSLv3_method());
^
./../../../include/asio/ssl/impl/context.ipp:95:29: error: ‘::SSLv3_client_method’ has not been declared
handle_ = ::SSL_CTX_new(::SSLv3_client_method());
^
./../../../include/asio/ssl/impl/context.ipp:98:29: error: ‘::SSLv3_server_method’ has not been declared
handle_ = ::SSL_CTX_new(::SSLv3_server_method());
^
In file included from ./../../../include/asio/ssl/context.hpp:784:0,
from ./../../../include/asio/ssl.hpp:19,
from ssl/client.cpp:15:
./../../../include/asio/ssl/impl/context.ipp: In constructor ‘asio::ssl::context::context(asio::ssl::context_base::method)’:
./../../../include/asio/ssl/impl/context.ipp:92:29: error: ‘::SSLv3_method’ has not been declared
handle_ = ::SSL_CTX_new(::SSLv3_method());
^
./../../../include/asio/ssl/impl/context.ipp:95:29: error: ‘::SSLv3_client_method’ has not been declared
handle_ = ::SSL_CTX_new(::SSLv3_client_method());
^
./../../../include/asio/ssl/impl/context.ipp:98:29: error: ‘::SSLv3_server_method’ has not been declared
handle_ = ::SSL_CTX_new(::SSLv3_server_method());
^
Makefile:1743: recipe for target 'ssl/server.o' failed

Additional info:
* asio version: 1.10.6-1
* OpenSSL version: 1.0.2.g-3
* I attached a patch taken from Debian that fixes the issue by putting code that uses SSLv3_method in preprocessor conditionals (same way as has been done for SSLv2_method)
This task depends upon

Closed by  Jan de Groot (JGC)
Sunday, 14 May 2017, 20:39 GMT
Reason for closing:  Fixed
Comment by Fabian Schlager (Tyrant) - Friday, 18 March 2016, 09:38 GMT
I've updated the PKGBUILD and added the patch, asio builds again.
Comment by Amit Levy (comradelion) - Tuesday, 31 May 2016, 14:37 GMT
The package has not yet been updated and now compiling against the binary asio package does not work.
Comment by Baptiste (zorun) - Sunday, 28 August 2016, 08:45 GMT
This package is still broken (i.e. does not build), because it uses SSLv3 definitions in /usr/include/asio/ssl/impl/context.ipp.

When trying to compile restbed, which depends on asio, it also fails because of this:

<pre>
In file included from /usr/include/asio/ssl/context.hpp:784:0,
from /usr/include/asio/ssl.hpp:19,
from /tmp/restbed/src/restbed/source/corvusoft/restbed/detail/socket_impl.hpp:25,
from /tmp/restbed/src/restbed/source/corvusoft/restbed/http.cpp:22:
/usr/include/asio/ssl/impl/context.ipp: In constructor ‘asio::ssl::context::context(asio::ssl::context_base::method)’:
/usr/include/asio/ssl/impl/context.ipp:92:29: error: ‘::SSLv3_method’ has not been declared
handle_ = ::SSL_CTX_new(::SSLv3_method());
^~
/usr/include/asio/ssl/impl/context.ipp:95:29: error: ‘::SSLv3_client_method’ has not been declared
handle_ = ::SSL_CTX_new(::SSLv3_client_method());
^~
/usr/include/asio/ssl/impl/context.ipp:98:29: error: ‘::SSLv3_server_method’ has not been declared
handle_ = ::SSL_CTX_new(::SSLv3_server_method());
^~
</pre>
Comment by Baptiste (zorun) - Sunday, 28 August 2016, 08:57 GMT
A similar patch is already included upstream, but not yet released: https://github.com/chriskohlhoff/asio/commit/44f3ade708f98a355a322be16985db39b5da5314
Comment by Baptiste (zorun) - Friday, 09 September 2016, 21:09 GMT
Ping giovanni? Can you integrate the patch at https://github.com/chriskohlhoff/asio/commit/44f3ade708f98a355a322be16985db39b5da5314 so that asio and its reverse dependencies can build again?
Comment by Baptiste (zorun) - Sunday, 11 September 2016, 07:39 GMT
asio 1.10.7 has been released and should fix the issue: https://github.com/chriskohlhoff/asio/releases/tag/asio-1-10-7
Comment by Baptiste (zorun) - Friday, 04 November 2016, 22:50 GMT
asio in [extra] has been updated, so this issue is now fixed.

Loading...