Skip to content

[C++][CI] parquet-arrow-reader-writer-tracing-test fails with missing symbols with System OpenTelemetry #51632

Closed

Description

@raulcd

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:

[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

Component(s)

C++, Continuous Integration

Activity

  1. kou commented on Sep 29, 2026

    @kou
    Member

    Oh, sorry...

  2. added a commit that references this issue on Sep 29, 2026
  3. added this to the 26.0.0 milestone on Sep 29, 2026
  4. kou commented on Sep 29, 2026

    @kou
    Member

    Issue resolved by pull request 51633
    #51633

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions