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

Reply via email to