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: [email protected]
For additional commands, e-mail: [email protected]