hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Colin Patrick McCabe (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HDFS-4909) Protocol buffer support compiles under C, but fails to link due to duplicate symbols
Date Wed, 16 Apr 2014 17:22:30 GMT

     [ https://issues.apache.org/jira/browse/HDFS-4909?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Colin Patrick McCabe updated HDFS-4909:

    Target Version/s: 2.5.0  (was: )
              Status: Patch Available  (was: Open)

> Protocol buffer support compiles under C, but fails to link due to duplicate symbols
> ------------------------------------------------------------------------------------
>                 Key: HDFS-4909
>                 URL: https://issues.apache.org/jira/browse/HDFS-4909
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: datanode, journal-node, namenode
>    Affects Versions: 2.1.0-beta, 3.0.0
>            Reporter: Ralph Castain
>            Assignee: Colin Patrick McCabe
>            Priority: Blocker
>         Attachments: HDFS-4909.001.patch, pcreate.pl
> The revised protocol buffer support seems to be compiling for me when using the protobuf-c
cross-compiler. However, I still cannot construct a library of the results. This may be a
Hadoop issue, or could be an issue with the protobuf-c cross-compiler. What I see are a bunch
of these when attempting to link the resulting .o files:
> /home/common/hadoop/hadoop-common/foo/obj/DatanodeProtocol.pb-c.o: In function `hadoop_hdfsreport_bad_blocks_request_proto_init':
> DatanodeProtocol.pb-c.c.text+0x2bb4): multiple definition of `hadoop_hdfsreport_bad_blocks_request_proto_init'
> /home/common/hadoop/hadoop-common/foo/obj/ClientNamenodeProtocol.pb-c.o:ClientNamenodeProtocol.pb-c.c.text+0x277d):
first defined here
> From what I can see, this is caused by the
> package hadoop.hdfs;
> line in the .proto files, when combined with the later
> import "hdfs.proto";
> This appears to bring a complete copy of the hdfs.proto file into the source code, which
then recompiles it - leading to the duplicate symbols.
> I have attached an updated pcreate.pl script that illustrates the problem. Excluding
the following .proto files allows all to be successfully built and linked:
> DatanodeProtocol
> ClientNamenodeProtocol
> QJournalProtocol
> Ralph

This message was sent by Atlassian JIRA

View raw message