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.