[
https://issues.apache.org/jira/browse/HDFS-16467?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gautham Banasandra updated HDFS-16467:
--------------------------------------
Description:
We need to ensure that the Protobuf generated headers ([such as
ClientNamenodeProtocol.pb.h|https://github.com/apache/hadoop/blob/cce5a6f6094cefd2e23b73d202cc173cf4fc2cc5/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/connection/datanodeconnection.h#L23])
are included at the top. In other words, **.ph.h* should be the first header
files to be included in any of the .c/.cc/.h files. Otherwise, it causes symbol
redefinition errors during compilation. Also, we need to ensure that Protobuf
generated header files are the first ones to be included even in the case of
*transitive inclusion* of header files.
This issue seems to be specific to Windows only. Not sure why the other
platforms aren't running into this.
was:
We need to ensure that the Protobuf generated headers ([such as
ClientNamenodeProtocol.pb.h|https://github.com/apache/hadoop/blob/cce5a6f6094cefd2e23b73d202cc173cf4fc2cc5/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/connection/datanodeconnection.h#L23])
are included at the top. In other words, **.ph.h* should be the first header
files to be included in any of the .c/.cc/.h files. Otherwise, it causes symbol
redefinition errors during compilation. Also, we need to ensure that Protobuf
generated header files are the first ones to be included even in the case of
*transitive* inclusion of header files.
This issue seems to be specific to Windows only. Not sure why the other
platforms aren't running into this.
> Ensure Protobuf generated headers are included first
> ----------------------------------------------------
>
> Key: HDFS-16467
> URL: https://issues.apache.org/jira/browse/HDFS-16467
> Project: Hadoop HDFS
> Issue Type: Improvement
> Components: libhdfs++
> Affects Versions: 3.4.0
> Environment: Windows 10
> Reporter: Gautham Banasandra
> Assignee: Gautham Banasandra
> Priority: Major
> Labels: libhdfscpp
>
> We need to ensure that the Protobuf generated headers ([such as
> ClientNamenodeProtocol.pb.h|https://github.com/apache/hadoop/blob/cce5a6f6094cefd2e23b73d202cc173cf4fc2cc5/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp/lib/connection/datanodeconnection.h#L23])
> are included at the top. In other words, **.ph.h* should be the first header
> files to be included in any of the .c/.cc/.h files. Otherwise, it causes
> symbol redefinition errors during compilation. Also, we need to ensure that
> Protobuf generated header files are the first ones to be included even in the
> case of *transitive inclusion* of header files.
> This issue seems to be specific to Windows only. Not sure why the other
> platforms aren't running into this.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]