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)