Skip to content

[v3.14.0] C++ Generated Code Build Failure with Error in port_def.inc #8240

@lidizheng

Description

@lidizheng

What version of protobuf and what language are you using?
Version: v3.14.0
Language: C++

What operating system (Linux, Windows, ...) and version?

debian:jessie
Linux ef1e6c86a4cf 5.7.17-1rodete4-amd64 #1 SMP Debian 5.7.17-1rodete4 (2020-10-01) x86_64 GNU/Linux

What runtime / compiler are you using (e.g., python version or gcc version)

cc (Debian 4.9.2-10+deb8u2) 4.9.2

What did you do?
Steps to reproduce the behavior:

  1. Compile xDS protos with protoc;
  2. Compile the generated file.

What did you expect to see

Binary successfully compiled.

What did you see instead?

In file included from /var/local/jenkins/grpc/cmake/build/gens/envoy/api/v2/core/config_source.pb.h:43:0,
                 from /var/local/jenkins/grpc/cmake/build/gens/envoy/api/v2/auth/secret.pb.h:36,
                 from /var/local/jenkins/grpc/cmake/build/gens/envoy/config/bootstrap/v2/bootstrap.pb.h:34,
                 from /var/local/jenkins/grpc/cmake/build/gens/envoy/admin/v2alpha/config_dump.pb.h:34,
                 from /var/local/jenkins/grpc/cmake/build/gens/envoy/admin/v2alpha/config_dump.grpc.pb.cc:5:
/var/local/jenkins/grpc/third_party/protobuf/src/google/protobuf/port_def.inc:167:34: error: expected '}' before '__attribute__'
 #define PROTOBUF_DEPRECATED_ENUM __attribute__((deprecated))
                                  ^
/var/local/jenkins/grpc/cmake/build/gens/envoy/api/v2/core/config_source.pb.h:100:51: note: in expansion of macro 'PROTOBUF_DEPRECATED_ENUM'
   ApiConfigSource_ApiType_UNSUPPORTED_REST_LEGACY PROTOBUF_DEPRECATED_ENUM = 0,
                                                   ^
/var/local/jenkins/grpc/third_party/protobuf/src/google/protobuf/port_def.inc:167:60: warning: type attributes ignored after type is already defined [-Wattributes]
 #define PROTOBUF_DEPRECATED_ENUM __attribute__((deprecated))
                                                            ^
/var/local/jenkins/grpc/cmake/build/gens/envoy/api/v2/core/config_source.pb.h:100:51: note: in expansion of macro 'PROTOBUF_DEPRECATED_ENUM'
   ApiConfigSource_ApiType_UNSUPPORTED_REST_LEGACY PROTOBUF_DEPRECATED_ENUM = 0,

Make sure you include information that can help us debug (full error message, exception listing, stack trace, logs).

Anything else we should know about your project / environment

This bug is fixed on master with a001250. This issue wants to ask when will the next release be available?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions