[ 
https://issues.apache.org/jira/browse/HDFS-16654?focusedWorklogId=789259&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-789259
 ]

ASF GitHub Bot logged work on HDFS-16654:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 09/Jul/22 14:47
            Start Date: 09/Jul/22 14:47
    Worklog Time Spent: 10m 
      Work Description: iwasakims commented on code in PR #4538:
URL: https://github.com/apache/hadoop/pull/4538#discussion_r917275784


##########
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:
   Users can use OpenSSL installed to non-standard location by specifying 
properties like `-Dopenssl.lib=/path/to/lib 
-Dopenssl.include=/path/to/include`. 
   
https://github.com/apache/hadoop/blob/9b1d3579b483069d0a211cb0b29c1f25013684dd/hadoop-hdfs-project/hadoop-hdfs-native-client/pom.xml#L221-L223
   
   Does this change break the feature?





Issue Time Tracking
-------------------

    Worklog Id:     (was: 789259)
    Time Spent: 1h  (was: 50m)

> 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: 1h
>  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: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to