-
Notifications
You must be signed in to change notification settings - Fork 512
Description
Describe your environment Describe any aspect of your environment relevant to the problem, including your platform, build system, version numbers of installed dependencies, etc. If you're reporting a problem with a specific version of a library in this repo, please check whether the problem has been fixed on main branch.
OS: Linux ubuntu
Bazel version: Build label: 7.0.1
Steps to reproduce
Describe exactly how to reproduce the error. Include a code sample if applicable.
-
successfully install opentelemetry onto system:
git clone --recurse-submodules --depth 1 --branch v1.14.2 https://github.com/open-telemetry/opentelemetry-cpp.git && cd opentelemetry-cpp && mkdir build && cd build && cmake -DWITH_BENCHMARK=OFF -DWITH_ZIPKIN=ON .. && cmake --build . -j 16 && cmake --install . -
build this example with a bazel project with system dependencies:
# build rule:
cc_binary(
name = "opentelemetry_test",
srcs = ["opentelemetry_test.cpp"],
copts = [
"-I/usr/local/include/",
],
# deps = ["//zipkip_opentelemetry:zipkin_opentelemetry"],
linkopts = [
"-L/usr/local/lib/",
"-lcurl",
"-lopentelemetry_common",
"-lopentelemetry_trace",
"-lopentelemetry_metrics",
"-lopentelemetry_logs",
"-lopentelemetry_version",
"-lopentelemetry_resources",
"-lopentelemetry_http_client_curl",
"-lopentelemetry_exporter_ostream_span",
"-lopentelemetry_exporter_ostream_metrics",
"-lopentelemetry_exporter_ostream_logs",
"-lopentelemetry_exporter_in_memory",
"-lopentelemetry_exporter_zipkin_trace",
],
)
build command:
bazel build --verbose_failures --cxxopt=-std=c++14 //:opentelemetry_test
What is the expected behavior?
What did you expect to see?
Expect successful example build.
What is the actual behavior?
What did you see instead?
produce error:
/usr/local/lib//libopentelemetry_trace.a(random_id_generator.cc.o):random_id_generator.cc:function opentelemetry::v1::sdk::trace::RandomIdGenerator::GenerateSpanId(): error: undefined reference to 'opentelemetry::v1::sdk::common::Random::GenerateRandomBuffer(opentelemetry::v1::nostd::span<unsigned char, 18446744073709551615ul>)'
/usr/local/lib//libopentelemetry_trace.a(random_id_generator.cc.o):random_id_generator.cc:function opentelemetry::v1::sdk::trace::RandomIdGenerator::GenerateTraceId(): error: undefined reference to 'opentelemetry::v1::sdk::common::Random::GenerateRandomBuffer(opentelemetry::v1::nostd::span<unsigned char, 18446744073709551615ul>)'
/usr/local/lib//libopentelemetry_exporter_zipkin_trace.a(zipkin_exporter.cc.o):zipkin_exporter.cc:function opentelemetry::v1::exporter::zipkin::ZipkinExporter::ZipkinExporter(opentelemetry::v1::exporter::zipkin::ZipkinExporterOptions const&): error: undefined reference to 'opentelemetry::v1::sdk::trace::SpanExporter::SpanExporter()'
/usr/local/lib//libopentelemetry_exporter_zipkin_trace.a(zipkin_exporter.cc.o):zipkin_exporter.cc:function opentelemetry::v1::exporter::zipkin::ZipkinExporter::ZipkinExporter(opentelemetry::v1::exporter::zipkin::ZipkinExporterOptions const&): error: undefined reference to 'opentelemetry::v1::ext::http::client::HttpClientFactory::CreateSync()'
/usr/local/lib//libopentelemetry_exporter_zipkin_trace.a(zipkin_exporter.cc.o):zipkin_exporter.cc:function opentelemetry::v1::exporter::zipkin::ZipkinExporter::ZipkinExporter(opentelemetry::v1::exporter::zipkin::ZipkinExporterOptions const&): error: undefined reference to 'opentelemetry::v1::sdk::trace::SpanExporter::~SpanExporter()'
/usr/local/lib//libopentelemetry_exporter_zipkin_trace.a(zipkin_exporter.cc.o):zipkin_exporter.cc:function opentelemetry::v1::exporter::zipkin::ZipkinExporter::ZipkinExporter(): error: undefined reference to 'opentelemetry::v1::sdk::trace::SpanExporter::SpanExporter()'
/usr/local/lib//libopentelemetry_exporter_zipkin_trace.a(zipkin_exporter.cc.o):zipkin_exporter.cc:function opentelemetry::v1::exporter::zipkin::ZipkinExporter::ZipkinExporter(): error: undefined reference to 'opentelemetry::v1::ext::http::client::HttpClientFactory::CreateSync()'
/usr/local/lib//libopentelemetry_exporter_zipkin_trace.a(zipkin_exporter.cc.o):zipkin_exporter.cc:function opentelemetry::v1::exporter::zipkin::ZipkinExporter::ZipkinExporter(): error: undefined reference to 'opentelemetry::v1::sdk::trace::SpanExporter::~SpanExporter()'
/usr/local/lib//libopentelemetry_exporter_zipkin_trace.a(zipkin_exporter.cc.o):zipkin_exporter.cc:function opentelemetry::v1::exporter::zipkin::ZipkinExporter::ZipkinExporter(std::shared_ptr<opentelemetry::v1::ext::http::client::HttpClientSync>): error: undefined reference to 'opentelemetry::v1::sdk::trace::SpanExporter::SpanExporter()'
/usr/local/lib//libopentelemetry_exporter_zipkin_trace.a(zipkin_exporter.cc.o):zipkin_exporter.cc:function opentelemetry::v1::exporter::zipkin::ZipkinExporter::ZipkinExporter(std::shared_ptr<opentelemetry::v1::ext::http::client::HttpClientSync>): error: undefined reference to 'opentelemetry::v1::sdk::trace::SpanExporter::~SpanExporter()'
/usr/local/lib//libopentelemetry_exporter_zipkin_trace.a(zipkin_exporter.cc.o):zipkin_exporter.cc:function opentelemetry::v1::exporter::zipkin::ZipkinExporter::~ZipkinExporter(): error: undefined reference to 'opentelemetry::v1::sdk::trace::SpanExporter::~SpanExporter()'
/usr/local/lib//libopentelemetry_exporter_zipkin_trace.a(zipkin_exporter.cc.o):zipkin_exporter.cc:typeinfo for opentelemetry::v1::exporter::zipkin::ZipkinExporter: error: undefined reference to 'typeinfo for opentelemetry::v1::sdk::trace::SpanExporter'
collect2: error: ld returned 1 exit status
Target //:opentelemetry_test failed to build
Additional context
Add any other context about the problem here.
Also try other version, same issue.
I found similar issue with CMake: #1359, but not sure how to fix in this example.
Thanks in advance!