You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Colin Patrick McCabe (JIRA)" <ji...@apache.org> on 2014/10/24 22:33:34 UTC
[jira] [Commented] (HADOOP-11216) Improve Openssl library finding
[ https://issues.apache.org/jira/browse/HADOOP-11216?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14183425#comment-14183425 ]
Colin Patrick McCabe commented on HADOOP-11216:
-----------------------------------------------
It sounds like you would like Hadoop to link against newer versions of libcrypto (i.e. openssl) if they are available. Is that a fair summary?
For some reason, on my system neither {{libcrypto.so}} nor {{libcrypto.so.1}} exist. I only have {{libcrypto.so.1.0.0}}. So the traditional way of linking against any version with the same API, linking against {{libcrypto.so.1}}, may not be useful here.
I suppose we could use {{find_library}} to find the first version available to us, and then check the version on that to verify that it was new enough. I think it would be pretty straightforward to chop the version off of the end of the file name. Or we could try use {{CheckFunctionExists}} to verify that a function only present in versions new enough to be usable to us exists in the given library.
> Improve Openssl library finding
> -------------------------------
>
> Key: HADOOP-11216
> URL: https://issues.apache.org/jira/browse/HADOOP-11216
> Project: Hadoop Common
> Issue Type: Improvement
> Components: security
> Affects Versions: 2.6.0
> Reporter: Yi Liu
> Assignee: Yi Liu
>
> When we compile Openssl 1.0.0\(x\) or 1.0.1\(x\) using default options, there will be {{libcrypto.so.1.0.0}} in output lib dir, so we expect this version suffix in cmake build file
> {code}
> SET(STORED_CMAKE_FIND_LIBRARY_SUFFIXES CMAKE_FIND_LIBRARY_SUFFIXES)
> set_find_shared_library_version("1.0.0")
> SET(OPENSSL_NAME "crypto")
> ....
> {code}
> If we don't bundle the crypto shared library in Hadoop distribution, then Hadoop will try to find crypto library in system path when running.
> But in real linux distribution, there may be no {{libcrypto.so.1.0.0}} or {{libcrypto.so}} even the system embedded openssl is 1.0.1\(x\). Then we need to make symbolic link.
> This JIRA is to improve the Openssl library finding.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)