Configure fails with some OpenSSL 1.1.0 built with no-deprecated.
On my machine with OpenSSL 1.1.0, Tor's
configure script fails to detect OpenSSL and gives me the following error:
configure: Now, we'll look for OpenSSL >= 1.0.1 checking for openssl directory... configure: WARNING: Could not find a linkable openssl. If you have it installed somewhere unusual, you can specify an explicit path using --with-openssl-dir configure: error: Missing libraries; unable to proceed.
This seems to be due to the fact that
configure checks for OpenSSL >= 1.0.1 with
TLSv1_1_method(), which is deprecated in favor of
TLS_method() in OpenSSL 1.1.0.
On my configuration of OpenSSL 1.1.0, deprecated functions are not available by default (not without first enabling the
OPENSSL_API_COMPAT compatibility #define), hence the failure.
I'd gladly provide a patch, but I'm not sure how this would best be fixed: explicitly check for
TLS_method() in case the check for
TLSv1_1_method() fails? Replace this test with a test on
OPENSSL_VERSION_NUMBER? Find some other function introduced in 1.0.1 and neither removed nor deprecated in 1.1.0?