Fixed double linking but it seems we introduced a new failure when using system OpenTelemetry as seen on the following debian nightly failures:
[2547/2560] Linking CXX executable debug/parquet-arrow-reader-writer-tracing-test
FAILED: debug/parquet-arrow-reader-writer-tracing-test
: && /usr/bin/c++ -Wredundant-move -Wno-noexcept-type -Wno-self-move -fdiagnostics-color=always -Wall -Wno-conversion -Wno-sign-conversion -Wdate-time -Wimplicit-fallthrough -Wunused-result -fno-semantic-interposition -march=x86-64 -g -Werror -O0 -ggdb -g1 -fuse-ld=mold -Wl,--dependency-file=src/parquet/CMakeFiles/parquet-arrow-reader-writer-tracing-test.dir/link.d src/parquet/CMakeFiles/parquet_testing.dir/test_util.cc.o src/parquet/CMakeFiles/parquet-arrow-reader-writer-tracing-test.dir/arrow/arrow_reader_writer_tracing_test.cc.o -o debug/parquet-arrow-reader-writer-tracing-test -Wl,-rpath,/build/cpp/debug debug/libparquet.so.2600.0.0 debug/libarrow_testing.so.2600.0.0 /usr/lib/x86_64-linux-gnu/libgmock_main.a /usr/lib/x86_64-linux-gnu/libthrift.so -ldl _deps/simdjson-build/libsimdjson.a debug/libarrow.so.2600.0.0 /usr/lib/x86_64-linux-gnu/libgmock.a /usr/lib/x86_64-linux-gnu/libgtest.a && :
mold: error: undefined symbol: opentelemetry::v1::sdk::trace::SpanExporter::~SpanExporter()
>>> referenced by arrow_reader_writer_tracing_test.cc
>>> src/parquet/CMakeFiles/parquet-arrow-reader-writer-tracing-test.dir/arrow/arrow_reader_writer_tracing_test.cc.o:(parquet::arrow::(anonymous namespace)::CapturingSpanExporter::~CapturingSpanExporter())
mold: error: undefined symbol: opentelemetry::v1::sdk::trace::TracerProvider::~TracerProvider()
>>> referenced by arrow_reader_writer_tracing_test.cc
>>> src/parquet/CMakeFiles/parquet-arrow-reader-writer-tracing-test.dir/arrow/arrow_reader_writer_tracing_test.cc.o:(std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<opentelemetry::v1::sdk::trace::TracerProvider*>(opentelemetry::v1::sdk::trace::TracerProvider*))
>>> referenced by arrow_reader_writer_tracing_test.cc
>>> src/parquet/CMakeFiles/parquet-arrow-reader-writer-tracing-test.dir/arrow/arrow_reader_writer_tracing_test.cc.o:(std::_Sp_counted_ptr<opentelemetry::v1::sdk::trace::TracerProvider*, (__gnu_cxx::_Lock_policy)2>::_M_dispose())
mold: error: undefined symbol: opentelemetry::v1::sdk::trace::SpanExporter::SpanExporter()
>>> referenced by arrow_reader_writer_tracing_test.cc
>>> src/parquet/CMakeFiles/parquet-arrow-reader-writer-tracing-test.dir/arrow/arrow_reader_writer_tracing_test.cc.o:(parquet::arrow::(anonymous namespace)::CapturingSpanExporter::CapturingSpanExporter(std::shared_ptr<parquet::arrow::(anonymous namespace)::CapturedSpanStorage>))
mold: error: undefined symbol: typeinfo for opentelemetry::v1::sdk::trace::SpanExporter
>>> referenced by arrow_reader_writer_tracing_test.cc
>>> src/parquet/CMakeFiles/parquet-arrow-reader-writer-tracing-test.dir/arrow/arrow_reader_writer_tracing_test.cc.o
mold: error: undefined symbol: vtable for opentelemetry::v1::sdk::trace::RandomIdGenerator
>>> referenced by arrow_reader_writer_tracing_test.cc
>>> src/parquet/CMakeFiles/parquet-arrow-reader-writer-tracing-test.dir/arrow/arrow_reader_writer_tracing_test.cc.o:(opentelemetry::v1::sdk::trace::RandomIdGenerator::RandomIdGenerator())
mold: error: undefined symbol: opentelemetry::v1::sdk::resource::Resource::Create(opentelemetry::v1::sdk::common::AttributeMap const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
>>> referenced by arrow_reader_writer_tracing_test.cc
>>> src/parquet/CMakeFiles/parquet-arrow-reader-writer-tracing-test.dir/arrow/arrow_reader_writer_tracing_test.cc.o:(parquet::arrow::(anonymous namespace)::OtelEnvironment::SetUp())
mold: error: undefined symbol: opentelemetry::v1::sdk::trace::TracerProvider::TracerProvider(std::unique_ptr<opentelemetry::v1::sdk::trace::SpanProcessor, std::default_delete<opentelemetry::v1::sdk::trace::SpanProcessor> >, opentelemetry::v1::sdk::resource::Resource const&, std::unique_ptr<opentelemetry::v1::sdk::trace::Sampler, std::default_delete<opentelemetry::v1::sdk::trace::Sampler> >, std::unique_ptr<opentelemetry::v1::sdk::trace::IdGenerator, std::default_delete<opentelemetry::v1::sdk::trace::IdGenerator> >)
>>> referenced by arrow_reader_writer_tracing_test.cc
>>> src/parquet/CMakeFiles/parquet-arrow-reader-writer-tracing-test.dir/arrow/arrow_reader_writer_tracing_test.cc.o:(parquet::arrow::(anonymous namespace)::OtelEnvironment::SetUp())
collect2: error: ld returned 1 exit status
Describe the bug, including details regarding any error messages, version, and platform.
The following PR:
Fixed double linking but it seems we introduced a new failure when using system OpenTelemetry as seen on the following debian nightly failures:
This is also failing on the C++ extra job:
AMD64 Debian SIMD Level NONE
The failure:
Component(s)
C++, Continuous Integration