-
-
Notifications
You must be signed in to change notification settings - Fork 56.5k
supporting protobuf v22 and later(with abseil-cpp/C++17) #24369
Copy link
Copy link
Closed
Labels
Description
Describe the feature and motivation
Hello, The original issue is #23466 (comment).
Related #23791 (I'm sorry if this is duplicated.)
What is problem
When using external(not built-in) protobuf v22 and later, building dnn module is failed.
Reason
Because protobuf v22 has a few breaking changes. ( https://protobuf.dev/support/migration/#cpp-22 )
- it drops supporting C++11.
- it depends abseil-cpp
- And std::string_view in abseil-cpp seems to request C++17 and later.
How to fix it ?
I believe.
- keeping internal protobuf (v19) is better to support C++11.
- Updating to v21 is better, but evenif updated, we can use it only until 2024/Q1 with supporting. ( https://protobuf.dev/support/version-support/ )
- After 2024/Q2, we must be update internal protobuf(e.g. v24 LTS) with abseil-cpp.
- The abseil configuration maybe relax C++11 supporting (https://github.com/abseil/abseil-cpp/blob/master/absl/base/options.h).
- supporintg external protobuf needs some limitation to avoid some compile error.
- If using v22 and later, abseil-cpp and C++17 are required.
Additional context
No response
Reactions are currently unavailable