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
Looking into this, because the gRPC is compiled as a static library, there is no PUBLIC link to the libopentelemetry_proto_grpc target. Which at build time seems to lead to this having missing symbols.
I believe looking at how homebrew compiles this, it's possible that the issue relates to that they add:
ENV.append "LDFLAGS", "-Wl,-undefined,dynamic_lookup" if OS.mac?
Which would allow this link step to proceed and resolve later when I assume the static gRPC would be compiled into some future library that would then provide these symbols.
The text was updated successfully, but these errors were encountered:
marcalff
added
triage/accepted
Indicates an issue or PR is ready to be actively worked on.
and removed
needs-triage
Indicates an issue or PR lacks a `triage/foo` label and requires one.
labels
Aug 21, 2024
To build otel-cpp as a shared library, gRPC must also be built as shared libraries to avoid symbol conflicts in multiple runtime targets, which could lead to crashes.
Running with the follow cmake definitions.
OTEL Version: v1.16.1
Abseil Version: 20240722.0
Protobuf Version: v26.1
gRPC Version: v1.63.2
-DCMAKE_PREFIX_PATH="/$prefix/../grpc;/$prefix/../abseil-cpp;/$prefix/../protobuf"
-DCMAKE_CXX_STANDARD=17
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
-DWITH_OTLP_GRPC=ON
-DWITH_ABSEIL=ON
-DWITH_STL=ON
-DBUILD_TESTING=OFF
-DCMAKE_INSTALL_PREFIX="/${prefix}"
-DOPENTELEMETRY_INSTALL=ON
With the grpc, abseil, and protobuf prefix path definitions all being compiled from source versions with PIC enabled, results in the following error:
Looking into this, because the gRPC is compiled as a static library, there is no PUBLIC link to the libopentelemetry_proto_grpc target. Which at build time seems to lead to this having missing symbols.
I believe looking at how homebrew compiles this, it's possible that the issue relates to that they add:
ENV.append "LDFLAGS", "-Wl,-undefined,dynamic_lookup" if OS.mac?
Which would allow this link step to proceed and resolve later when I assume the static gRPC would be compiled into some future library that would then provide these symbols.
The text was updated successfully, but these errors were encountered: