Gautham Banasandra created HDFS-16654:
-----------------------------------------

             Summary: Link OpenSSL lib for CMake deps pre-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


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

Reply via email to