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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions