Gautham Banasandra created HDFS-16464:
-----------------------------------------
Summary: Create only libhdfspp static libraries for Windows
Key: HDFS-16464
URL: https://issues.apache.org/jira/browse/HDFS-16464
Project: Hadoop HDFS
Issue Type: Improvement
Components: libhdfs++
Affects Versions: 3.4.0
Environment: Windows 10
Reporter: Gautham Banasandra
Assignee: Gautham Banasandra
While building dynamic libraries on Windows, there's a constraint that all the
dependent libraries be linked dynamically. This poses an issue since Protobuf
(which is an HDFS native client dependency) runs into build issues when linked
dynamically. There are a few [warning
notes|https://github.com/protocolbuffers/protobuf/blob/9ebb31726cef11e4e940b50ec751df4e863e3d2a/cmake/README.md#dlls-vs-static-linking]
on the Protobuf repo's build instructions page as well.
Thus, to keep things simple, we can resort to do only static linking and
thereby only produce statically linked libraries on Windows. In summary, we'll
be providing only Hadoop .lib files initially. We can aim to produce Hadoop
.dll on Windows eventually once we're able to resolve Protobuf's .dll issues.
In Hadoop CMake files, we've function
[hadoop_add_dual_library|https://github.com/apache/hadoop/blob/f0241ec2161f6eccdb9bdaf1cbcbee55be379217/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/CMakeLists.txt#L289-L298]
that creates both the static an dynamic library targets. We need to replace
all these to get only static libraries for Windows.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]