build(deps): Align protobuf and related dependencies with the gRPC v1.81.1 bump - #160
Conversation
protobuf v33 (bundled with gRPC v1.81.1) headers include absl headers
directly (e.g. coded_stream.h -> absl/base/optimization.h). The
proto-library and grpc-service-library object targets compiled with
only ${Protobuf_INCLUDE_DIRS} on the include path and failed with
'absl/base/optimization.h: No such file or directory'. Linking
protobuf::libprotobuf propagates the absl include directories through
the imported target's usage requirements.
f1c86ce to
e0a4115
Compare
Greptile SummaryThis PR fixes a protobuf v33 / gRPC v1.81.1 build regression by promoting
Confidence Score: 3/5The fix is incomplete: The PR correctly addresses the root cause for
Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Consumer Target] -->|links| B[proto-library]
A -->|links| C[grpc-service-library]
A -->|links| D[grpc-health-library]
B -->|PUBLIC - FIXED| E[protobuf::libprotobuf]
C -->|PUBLIC - FIXED| E
D -. missing PUBLIC .-> E
E -->|include dirs + link flags| F[Consumer gets protobuf headers & libprotobuf]
D -->|NO PROPAGATION| G[Consumer missing protobuf headers & libprotobuf]
style D fill:#ffcccc,stroke:#cc0000
style G fill:#ffcccc,stroke:#cc0000
style B fill:#ccffcc,stroke:#009900
style C fill:#ccffcc,stroke:#009900
|
What does the PR do?
Fixes the nightly build against protobuf v33 (gRPC v1.81.1 third_party bump): declare
protobuf::libprotobufas aPUBLIClink dependency ofproto-libraryandgrpc-service-library. With protobuf v33 the include directories and link flags are no longer inherited transitively, so consumers of the generated model-config proto targets failed to compile/link.Checklist
<commit_type>: <Title>Related PRs:
Where should the reviewer start?
protobuf/CMakeLists.txt—PUBLIC protobuf::libprotobufon both generated targetsTest plan:
Nightly build pipeline on internal GitLab CI.
Caveats:
None.
Background
The gRPC v1.81.1 / protobuf v33 update in triton-inference-server/third_party#76 broke the nightly build across the Triton repos; this PR chain repairs it.
Related Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to)
- Resolves: TRI-1608
CI (internal): [#58489960](http://tritonserver.local/ci/pipelines/58489960)