Skip to content

Protobuf v6 support #3181

@Tradias

Description

@Tradias

Is your feature request related to a problem?

I am updating protobuf to v6 in vcpkg.

Describe the solution you'd like

V6 support in a released version, v5 support can be broken in the process.

Describe alternatives you've considered

Adding patches

Additional context/screenshots

Protobuf migration guide https://protobuf.dev/support/migration/

Some example compilation error messages:

/home/dh/vcpkg/buildtrees/brpc/src/1.15.0-a55832227d.clean/src/json2pb/protobuf_map.cpp:41:46: error: ‘using absl::lts_20250814::string_view = using std::string_view = class std::basic_string_view<char>’ {aka ‘class std::basic_string_view<char>’} has no member named ‘c_str’; did you mean ‘const char* std::basic_string_view<char>::_M_str’? (not accessible from this context)
   41 |         || strcmp(KEY_NAME, key_desc->name().c_str()) != 0) {
      |                                              ^~~~~
/home/dh/vcpkg/buildtrees/brpc/src/1.15.0-a55832227d.clean/src/json2pb/pb_to_json.h:96:53: error: ‘JsonOptions’ in namespace ‘google::protobuf::util’ does not name a type; did you mean ‘JsonPrintOptions’?
   96 | using Pb2ProtoJsonOptions = google::protobuf::util::JsonOptions;
      |                                                     ^~~~~~~~~~~
      |                                                     JsonPrintOptions
/home/dh/vcpkg/buildtrees/brpc/src/1.15.0-a55832227d.clean/src/json2pb/pb_to_json.cpp:175:53: error: no match for ‘operator+’ (operand types are ‘const char [25]’ and ‘absl::lts_20250814::string_view’ {aka ‘std::basic_string_view<char>’}) [-Wtemplate-body]
  175 |                 _error = "Missing required field: " + field->full_name();
      |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~
      |                          |                                            |
      |                          const char [25]                              absl::lts_20250814::string_view {aka std::basic_string_view<char>}

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