[
https://issues.apache.org/jira/browse/HDFS-16654?focusedWorklogId=790314&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-790314
]
ASF GitHub Bot logged work on HDFS-16654:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 13/Jul/22 08:16
Start Date: 13/Jul/22 08:16
Worklog Time Spent: 10m
Work Description: iwasakims commented on code in PR #4538:
URL: https://github.com/apache/hadoop/pull/4538#discussion_r919785803
##########
hadoop-hdfs-project/hadoop-hdfs-native-client/src/CMakeLists.txt:
##########
@@ -127,7 +127,8 @@ if(OPENSSL_LIBRARY AND OPENSSL_INCLUDE_DIR)
include(CheckCSourceCompiles)
set(OLD_CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES})
set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
- check_c_source_compiles("#include
\"${OPENSSL_INCLUDE_DIR}/openssl/evp.h\"\nint main(int argc, char **argv) {
return !EVP_aes_256_ctr; }" HAS_NEW_ENOUGH_OPENSSL)
Review Comment:
I see no regression in CMakeOutput.log on my env.
```
$ mvn clean install -DskipTests -DskipShade -Pnative
-Dopenssl.prefix=/usr/local/openssl-1.1.1q
-Dopenssl.lib=/usr/local/openssl-1.1.1q/lib
-Dopenssl.include=/usr/local/openssl-1.1.1q/include -Drequire.openssl
$ grep -B 1 -A 2 evp target/CMakeFiles/CMakeOutput.log
Source file was:
#include <openssl/evp.h>
int main(int argc, char **argv) { return !EVP_aes_256_ctr; }
Performing C++ SOURCE FILE Test THREAD_LOCAL_SUPPORTED succeeded with the
following output:
```
Issue Time Tracking
-------------------
Worklog Id: (was: 790314)
Time Spent: 1.5h (was: 1h 20m)
> Link OpenSSL lib for CMake deps check
> -------------------------------------
>
> Key: HDFS-16654
> URL: https://issues.apache.org/jira/browse/HDFS-16654
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: libhdfs++
> Affects Versions: 3.4.0
> Environment: Windows 10
> Reporter: Gautham Banasandra
> Assignee: Gautham Banasandra
> Priority: Major
> Labels: libhdfscpp, pull-request-available
> Time Spent: 1.5h
> Remaining Estimate: 0h
>
> CMake checks whether the required components of OpenSSL are available prior
> to building HDFS native client -
> https://github.com/apache/hadoop/blob/fac895828f714b5587b57900d588acac69880c1e/hadoop-hdfs-project/hadoop-hdfs-native-client/src/CMakeLists.txt#L130
> {code}
> check_c_source_compiles("#include
> \"${OPENSSL_INCLUDE_DIR}/openssl/evp.h\"\nint main(int argc, char **argv) {
> return !EVP_aes_256_ctr; }" HAS_NEW_ENOUGH_OPENSSL)
> {code}
> This check compiles but fails while linking on Windows -
> {code}
> src.obj : error LNK2019: unresolved external symbol EVP_aes_256_ctr
> referenced in function main
> [H:\hadoop-hdfs-project\hadoop-hdfs-native-client\src\out\build\x64-Debug\CMakeFiles\CMakeTmp\cmTC_e391b.vcxproj]
> H:\hadoop-hdfs-project\hadoop-hdfs-native-client\src\out\build\x64-Debug\CMakeFiles\CMakeTmp\Debug\cmTC_e391b.exe
> : fatal error LNK1120: 1 unresolved externals
> [H:\hadoop-hdfs-project\hadoop-hdfs-native-client\src\out\build\x64-Debug\CMakeFiles\CMakeTmp\cmTC_e391b.vcxproj]
> Source file was:
> #include <openssl/evp.h>
> int main(int argc, char **argv) { return !EVP_aes_256_ctr; }
> {code}
> Thus, we need to link to the OpenSSL library prior to running this check.
> Please note that this check doesn't fail on Linux since CMake is able to pick
> it up from the standard location where libs are installed.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]