[
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]