You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
remove abseil as a public dependency. update install notes on how to install abseil, protobuf, and grpc so the transitive abseil depenedency is found implicitly
- Apart from above core requirements, the Exporters and Propagators have their
41
-
build dependencies which are not covered here. E.g, the OTLP Exporter needs
42
-
grpc/protobuf library, the Zipkin exporter needs nlohmann-json and libcurl,
43
-
the ETW exporter needs nlohmann-json to build. This is covered in the build
44
-
instructions for each of these components.
41
+
build dependencies.
42
+
43
+
### Building dependencies for the OTLP exporters
44
+
45
+
The opentelemetry-cpp OTLP exporters depend on Protobuf and gRPC (in the case of the otlp grpc exporters). Protobuf (since version 3.22.0) and gRPC depend on Abseil.
46
+
For cmake builds, it is best practice to build and install Abseil, Protobuf, and gPRC as independent packages - configuring cmake for Protobuf and gRPC to build against the installed packages instead of using their submodule option.
47
+
48
+
If building and installing Protobuf and gRPC manually with cmake the recommended approach is:
49
+
1. Choose the desired tag version of grpc. Find the compatible versions of abseil and protobuf by inspecting the submodules of grpc at that tag.
50
+
2. Build and install the required version of abseil
51
+
3. Build and install the required version of protobuf
52
+
- Set the cmake option of Protobuf to build against the installed package of Abseil (`protobuf_ABSL_PROVIDER=package`)
53
+
4. Build and install the required version of grpc
54
+
- Set the cmake option of grpc to build against the installed packages of Abseil and Protobuf (cmake options - `gRPC_ABSL_PROVIDER=package` and `gRPC_PROTOBUF_PROVIDER=package`)
0 commit comments