Protobuf and gRPC with GCC 14

143 views
Skip to first unread message

László Böszörményi (GCS)

unread,
Jul 25, 2024, 11:42:27 PM7/25/24
to Protocol Buffers
Hi,

I'm the maintainer of Protobuf and gRPC in Debian. In the process of updating the packages. I've a local package of Protobuf 3.28.0 RC1. Wanted to package gRPC 1.65.1, but it needs absl::no_destructor not yet available in Debian. I went back to gRPC 1.62.2 which fails to build:
[ 35%] Building CXX object CMakeFiles/grpc_tls_crl_provider_test.dir/gens/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.pb.cc.o
/usr/bin/c++ -DHAVE_LIBSYSTEMD -DPROTOBUF_USE_DLLS -I/[builddir] -I/[builddir]/include -I/[builddir]/third_party/address_sorting/include -I/[builddir]/src/core/ext/upb-gen -I/[builddir]/src/core/ext/upbdefs-gen -I/[builddir]/third_party/upb -I/[builddir]/third_party/utf8_range -I/[builddir]/third_party/xxhash -I/[builddir]/third_party/googletest/googletest/include -I/[builddir]/third_party/googletest/googletest -I/[builddir]/third_party/googletest/googlemock/include -I/[builddir]/third_party/googletest/googlemock -I/[builddir]/build-shared/gens -g -O2 -ffile-prefix-map=/[builddir]=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2  -fPIE -pthread -DNOMINMAX -MD -MT CMakeFiles/grpc_tls_crl_provider_test.dir/gens/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.pb.cc.o -MF CMakeFiles/grpc_tls_crl_provider_test.dir/gens/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.pb.cc.o.d -o CMakeFiles/grpc_tls_crl_provider_test.dir/gens/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.pb.cc.o -c /[builddir]/build-shared/gens/test/core/event_engine/fuzzing_event_engine/fuzzing_event_engine.pb.cc
/[builddir]/test/cpp/util/proto_file_parser.cc:51:8: error: ‘void grpc::testing::ErrorPrinter::AddError(const std::string&, int, int, const std::string&)’ marked ‘override’, but does not override
   51 |   void AddError(const std::string& filename, int line, int column,
      |        ^~~~~~~~
/[builddir]/test/cpp/util/proto_file_parser.cc:59:8: error: ‘void grpc::testing::ErrorPrinter::AddWarning(const std::string&, int, int, const std::string&)’ marked ‘override’, but does not override
   59 |   void AddWarning(const std::string& filename, int line, int column,
      |        ^~~~~~~~~~

First question if this Protobuf version is expected to work correctly with a bit older gRPC version.
Then of course, is this compilation problem of gRPC known (probably due to using GCC 14)? I can ask this in other group(s) if you don't relate with gRPC.

Thanks for any pointers,
Laszlo/GCS

Em Rauch

unread,
Jul 29, 2024, 2:38:21 PM7/29/24
to László Böszörményi (GCS), Protocol Buffers
On the Protobuf side the type signature of AddWarning() was changed with in v22.0 (https://protobuf.dev/support/migration/#error-collector), so I suspect the issue you are hitting is an incompatibility between that gRPC version only supporting Protobuf either before or after v22 (and you're building with a Protobuf version on the opposite side of that breakage line).

If that's not enough to unblock you, the grpc-io Google Group may be a better place to get an answer to this issue (https://groups.google.com/g/grpc-io).

--
You received this message because you are subscribed to the Google Groups "Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to protobuf+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/protobuf/e503e9dd-50c1-4190-b210-786c911910ecn%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages