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?
Trac:
Username: laomaiweng