[ 
https://issues.apache.org/jira/browse/HADOOP-18583?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17895789#comment-17895789
 ] 

ASF GitHub Bot commented on HADOOP-18583:
-----------------------------------------

packet23 opened a new pull request, #7149:
URL: https://github.com/apache/hadoop/pull/7149

   <!--
     Thanks for sending a pull request!
       1. If this is your first time, please read our contributor guidelines: 
https://cwiki.apache.org/confluence/display/HADOOP/How+To+Contribute
       2. Make sure your PR title starts with JIRA issue id, e.g., 
'HADOOP-17799. Your PR title ...'.
   -->
   
   ### Description of PR
   
   Cherry picked #5256 for branch-3.4. Original description:
   
   >Fix for [HADOOP-18583](https://issues.apache.org/jira/browse/HADOOP-18583). 
OpenSSL 3.x broke existing ABI - the symbols for
   >
   >  *  EVP_CIPHER_CTX_block_size and
    > *  EVP_CIPHER_CTX_encrypting
   >
   > are now called
   >
   > * EVP_CIPHER_CTX_get_block_size and
   >  * EVP_CIPHER_CTX_is_encrypting 
   >
   > respectively (c.f. commit 
[ed576acdf591d4164905ab98e89ca5a3b99d90ab](https://github.com/openssl/openssl/commit/ed576acdf591d4164905ab98e89ca5a3b99d90ab)
 that landed in 
[openssl-3.0.0-beta1](https://github.com/openssl/openssl/releases/tag/openssl-3.0.0-beta1))
   >
   > The PR changes the hadoop-common native code such that when compiled 
against OpenSSL 3.x, it can successfully load the OpenSSL 3.x symbols at 
runtime.
   
   
   ### How was this patch tested?
   
   Original PR was tested manually. Quoting original PR:
   
   > A patched version of Hadoop 3.3.4 was compiled on an x86-64 Ubuntu 22.04 
machine and `hadoop checknative` was invoked.
   >
   > ```
   > $ openssl version
   > OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)
   > $ hadoop checknative
   > 2022-12-24 11:54:31,538 INFO bzip2.Bzip2Factory: Successfully loaded & 
initialized native-bzip2 library system-native
   > 2022-12-24 11:54:31,539 INFO zlib.ZlibFactory: Successfully loaded & 
initialized native-zlib library
   > 2022-12-24 11:54:31,558 INFO nativeio.NativeIO: The native code was built 
without PMDK support.
   > Native library checking:
   > hadoop:  true /hadoop/lib/native/libhadoop.so.1.0.0
   > zlib:    true /lib/x86_64-linux-gnu/libz.so.1
   > zstd  :  true /lib/x86_64-linux-gnu/libzstd.so.1
   > bzip2:   true /lib/x86_64-linux-gnu/libbz2.so.1
   > openssl: true /lib/x86_64-linux-gnu/libcrypto.so
   > ISA-L:   true /lib/x86_64-linux-gnu/libisal.so.2
   > PMDK:    false The native code was built without PMDK support.
   > ```
   
   
   ### For code changes:
   
   - [X] Does the title or this PR starts with the corresponding JIRA issue id 
(e.g. 'HADOOP-17799. Your PR title ...')?
   - [ ] Object storage: have the integration tests been executed and the 
endpoint declared according to the connector-specific documentation?
   - [ ] If adding new dependencies to the code, are these dependencies 
licensed in a way that is compatible for inclusion under [ASF 
2.0](http://www.apache.org/legal/resolved.html#category-a)?
   - [ ] If applicable, have you updated the `LICENSE`, `LICENSE-binary`, 
`NOTICE-binary` files?
   
   




> hadoop checknative fails to load openssl 3.x
> --------------------------------------------
>
>                 Key: HADOOP-18583
>                 URL: https://issues.apache.org/jira/browse/HADOOP-18583
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: native
>    Affects Versions: 3.3.4
>            Reporter: Sebastian Klemke
>            Assignee: Sebastian Klemke
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 3.5.0
>
>         Attachments: 100-hadoop-3.3.4-openssl-3.patch
>
>
> After building Hadoop 3.3.4 from source on Ubuntu 22.04, `hadoop checknative` 
> reports
> {code:java}
> $ hadoop checknative
> 2022-12-21 22:12:02,106 INFO bzip2.Bzip2Factory: Successfully loaded & 
> initialized native-bzip2 library system-native
> 2022-12-21 22:12:02,107 INFO zlib.ZlibFactory: Successfully loaded & 
> initialized native-zlib library
> 2022-12-21 22:12:02,130 INFO nativeio.NativeIO: The native code was built 
> without PMDK support.
> Native library checking:
> hadoop:  true /hadoop/lib/native/libhadoop.so.1.0.0
> zlib:    true /lib/x86_64-linux-gnu/libz.so.1
> zstd  :  true /lib/x86_64-linux-gnu/libzstd.so.1
> bzip2:   true /lib/x86_64-linux-gnu/libbz2.so.1
> openssl: false EVP_CIPHER_CTX_block_size
> ISA-L:   true /lib/x86_64-linux-gnu/libisal.so.2
> PMDK:    false The native code was built without PMDK support.{code}
> The issue seems to be at least two symbols that were removed from ABI in 
> OpenSSL 3.x releases:
>  * EVP_CIPHER_CTX_block_size (new name: EVP_CIPHER_CTX_get_block_size)
>  * EVP_CIPHER_CTX_encrypting (new name: EVP_CIPHER_CTX_is_encrypting)
> The attached patch [^100-hadoop-3.3.4-openssl-3.patch] works around the issue.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to