Skip to content

enormous undefined error whencmake --build . --target all #1545

@zhzure

Description

@zhzure

i'm sorry raise this issue, i have been struggling for days and still don't know how to solve this

Linux 4.9.0-14-amd64 #1 SMP Debian 4.9.246-2 (2020-12-17) x86_64 GNU/Linux
libprotoc 3.21.4

and i build protobuf like

tar -zxvf protobuf-all-21.4.tar.gz

 ./configure --prefix=/usr

 make

 make install

error msg like, and seems hundreds more just like those

.trace.pb.cc:(.text._ZN13opentelemetry5proto5trace2v113ResourceSpans10SharedDtorEv[_ZN13opentelemetry5proto5trace2v113ResourceSpans10SharedDtorEv]+0xbb): undefined reference to `google::protobuf::internal::ArenaStringPtr::Destroy()'
../../libopentelemetry_proto.a(trace.pb.cc.o): In function `opentelemetry::proto::trace::v1::ScopeSpans::SharedDtor()':
trace.pb.cc:(.text._ZN13opentelemetry5proto5trace2v110ScopeSpans10SharedDtorEv[_ZN13opentelemetry5proto5trace2v110ScopeSpans10SharedDtorEv]+0xab): undefined reference to `google::protobuf::internal::ArenaStringPtr::Destroy()'
../../libopentelemetry_proto.a(trace.pb.cc.o): In function `opentelemetry::proto::trace::v1::InstrumentationLibrarySpans::SharedDtor()':
trace.pb.cc:(.text._ZN13opentelemetry5proto5trace2v127InstrumentationLibrarySpans10SharedDtorEv[_ZN13opentelemetry5proto5trace2v127InstrumentationLibrarySpans10SharedDtorEv]+0xab): undefined reference to `google::protobuf::internal::ArenaStringPtr::Destroy()'
../../libopentelemetry_proto.a(trace.pb.cc.o): In function `opentelemetry::proto::trace::v1::Span_Event::SharedDtor()':
trace.pb.cc:(.text._ZN13opentelemetry5proto5trace2v110Span_Event10SharedDtorEv[_ZN13opentelemetry5proto5trace2v110Span_Event10SharedDtorEv]+0xab): undefined reference to `google::protobuf::internal::ArenaStringPtr::Destroy()'
../../libopentelemetry_proto.a(trace.pb.cc.o): In function `opentelemetry::proto::trace::v1::Span_Link::SharedDtor()':
trace.pb.cc:(.text._ZN13opentelemetry5proto5trace2v19Span_Link10SharedDtorEv[_ZN13opentelemetry5proto5trace2v19Span_Link10SharedDtorEv]+0xab): undefined reference to `google::protobuf::internal::ArenaStringPtr::Destroy()'
../../libopentelemetry_proto.a(trace.pb.cc.o):trace.pb.cc:(.text._ZN13opentelemetry5proto5trace2v19Span_Link10SharedDtorEv[_ZN13opentelemetry5proto5trace2v19Span_Link10SharedDtorEv]+0xbb): more undefined references to `google::protobuf::internal::ArenaStringPtr::Destroy()' follow
../../libopentelemetry_proto.a(trace.pb.cc.o): In function `google::protobuf::RepeatedPtrField<opentelemetry::proto::trace::v1::ResourceSpans>::~RepeatedPtrField()':
trace.pb.cc:(.text._ZN6google8protobuf16RepeatedPtrFieldIN13opentelemetry5proto5trace2v113ResourceSpansEED2Ev[_ZN6google8protobuf16RepeatedPtrFieldIN13opentelemetry5proto5trace2v113ResourceSpansEED5Ev]+0x24): undefined reference to `google::protobuf::internal::RepeatedPtrFieldBase::DestroyProtos()'
../../libopentelemetry_proto.a(trace.pb.cc.o): In function `google::protobuf::RepeatedPtrField<opentelemetry::proto::trace::v1::ScopeSpans>::~RepeatedPtrField()':
trace.pb.cc:(.text._ZN6google8protobuf16RepeatedPtrFieldIN13opentelemetry5proto5trace2v110ScopeSpansEED2Ev[_ZN6google8protobuf16RepeatedPtrFieldIN13opentelemetry5proto5trace2v110ScopeSpansEED5Ev]+0x24): undefined reference to `google::protobuf::internal::RepeatedPtrFieldBase::DestroyProtos()'
../../libopentelemetry_proto.a(trace.pb.cc.o): In function `google::protobuf::RepeatedPtrField<opentelemetry::proto::trace::v1::InstrumentationLibrarySpans>::~RepeatedPtrField()':
trace.pb.cc:(.text._ZN6google8protobuf16RepeatedPtrFieldIN13opentelemetry5proto5trace2v127InstrumentationLibrarySpansEED2Ev[_ZN6google8protobuf16RepeatedPtrFieldIN13opentelemetry5proto5trace2v127InstrumentationLibrarySpansEED5Ev]+0x24): undefined reference to `google::protobuf::internal::RepeatedPtrFieldBase::DestroyProtos()'
../../libopentelemetry_proto.a(trace.pb.cc.o): In function `google::protobuf::RepeatedPtrField<opentelemetry::proto::trace::v1::Span>::~RepeatedPtrField()':
trace.pb.cc:(.text._ZN6google8protobuf16RepeatedPtrFieldIN13opentelemetry5proto5trace2v14SpanEED2Ev[_ZN6google8protobuf16RepeatedPtrFieldIN13opentelemetry5proto5trace2v14SpanEED5Ev]+0x24): undefined reference to `google::protobuf::internal::RepeatedPtrFieldBase::DestroyProtos()'
../../libopentelemetry_proto.a(trace.pb.cc.o): In function `google::protobuf::RepeatedPtrField<opentelemetry::proto::trace::v1::Span_Event>::~RepeatedPtrField()':
trace.pb.cc:(.text._ZN6google8protobuf16RepeatedPtrFieldIN13opentelemetry5proto5trace2v110Span_EventEED2Ev[_ZN6google8protobuf16RepeatedPtrFieldIN13opentelemetry5proto5trace2v110Span_EventEED5Ev]+0x24): undefined reference to `google::protobuf::internal::RepeatedPtrFieldBase::DestroyProtos()'
../../libopentelemetry_proto.a(trace.pb.cc.o):trace.pb.cc:(.text._ZN6google8protobuf16RepeatedPtrFieldIN13opentelemetry5proto5trace2v19Span_LinkEED2Ev[_ZN6google8protobuf16RepeatedPtrFieldIN13opentelemetry5proto5trace2v19Span_LinkEED5Ev]+0x24): more undefined references to `google::protobuf::internal::RepeatedPtrFieldBase::DestroyProtos()' follow
../../libopentelemetry_proto.a(trace.pb.cc.o): In function `google::protobuf::RepeatedPtrField<opentelemetry::proto::trace::v1::InstrumentationLibrarySpans>::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Add<google::protobuf::RepeatedPtrField<opentelemetry::proto::trace::v1::InstrumentationLibrarySpans>::TypeHandler>(google::protobuf::RepeatedPtrField<opentelemetry::proto::trace::v1::InstrumentationLibrarySpans>::TypeHandler::Type const*)':
trace.pb.cc:(.text._ZN6google8protobuf8internal20RepeatedPtrFieldBase3AddINS0_16RepeatedPtrFieldIN13opentelemetry5proto5trace2v127InstrumentationLibrarySpansEE11TypeHandlerEEEPNT_4TypeEPKSD_[_ZN6google8protobuf8internal20RepeatedPtrFieldBase3AddINS0_16RepeatedPtrFieldIN13opentelemetry5proto5trace2v127InstrumentationLibrarySpansEE11TypeHandlerEEEPNT_4TypeEPKSD_]+0x85): undefined reference to `google::protobuf::internal::RepeatedPtrFieldBase::AddOutOfLineHelper(void*)'
../../libopentelemetry_proto.a(trace.pb.cc.o):(.data.rel.ro._ZTVN13opentelemetry5proto5trace2v16StatusE[_ZTVN13opentelemetry5proto5trace2v16StatusE]+0x80): undefined reference to `google::protobuf::Message::SpaceUsedLong() const'
../../libopentelemetry_proto.a(trace.pb.cc.o):(.data.rel.ro._ZTVN13opentelemetry5proto5trace2v14SpanE[_ZTVN13opentelemetry5proto5trace2v14SpanE]+0x80): undefined reference to `google::protobuf::Message::SpaceUsedLong() const'
../../libopentelemetry_proto.a(trace.pb.cc.o):(.data.rel.ro._ZTVN13opentelemetry5proto5trace2v19Span_LinkE[_ZTVN13opentelemetry5proto5trace2v19Span_LinkE]+0x80): undefined reference to `google::protobuf::Message::SpaceUsedLong() const'
../../libopentelemetry_proto.a(trace.pb.cc.o):(.data.rel.ro._ZTVN13opentelemetry5proto5trace2v110Span_EventE[_ZTVN13opentelemetry5proto5trace2v110Span_EventE]+0x80): undefined reference to `google::protobuf::Message::SpaceUsedLong() const'
../../libopentelemetry_proto.a(trace.pb.cc.o):(.data.rel.ro._ZTVN13opentelemetry5proto5trace2v127InstrumentationLibrarySpansE[_ZTVN13opentelemetry5proto5trace2v127InstrumentationLibrarySpansE]+0x80): undefined reference to `google::protobuf::Message::SpaceUsedLong() const'
../../libopentelemetry_proto.a(trace.pb.cc.o):(.data.rel.ro._ZTVN13opentelemetry5proto5trace2v110ScopeSpansE[_ZTVN13opentelemetry5proto5trace2v110ScopeSpansE]+0x80): more undefined references to `google::protobuf::Message::SpaceUsedLong() const' follow
../../libopentelemetry_proto.a(trace_service.pb.cc.o): In function `opentelemetry::proto::collector::trace::v1::ExportTraceServiceRequest::_InternalParse(char const*, google::protobuf::internal::ParseContext*)':
trace_service.pb.cc:(.text+0x380): undefined reference to `google::protobuf::internal::ParseContext::ParseMessage(google::protobuf::MessageLite*, char const*)'
trace_service.pb.cc:(.text+0x431): undefined reference to `google::protobuf::internal::UnknownFieldParse(unsigned long, google::protobuf::UnknownFieldSet*, char const*, google::protobuf::internal::ParseContext*)'
../../libopentelemetry_proto.a(trace_service.pb.cc.o): In function `opentelemetry::proto::collector::trace::v1::ExportTraceServiceRequest::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const':
trace_service.pb.cc:(.text+0x4f3): undefined reference to `google::protobuf::internal::WireFormatLite::InternalWriteMessage(int, google::protobuf::MessageLite const&, int, unsigned char*, google::protobuf::io::EpsCopyOutputStream*)'
trace_service.pb.cc:(.text+0x54a): undefined reference to `google::protobuf::internal::WireFormat::InternalSerializeUnknownFieldsToArray(google::protobuf::UnknownFieldSet const&, unsigned char*, google::protobuf::io::EpsCopyOutputStream*)'
../../libopentelemetry_proto.a(trace_service.pb.cc.o): In function `opentelemetry::proto::collector::trace::v1::ExportTraceServiceRequest::ByteSizeLong() const':
trace_service.pb.cc:(.text+0x60d): undefined reference to `google::protobuf::Message::MaybeComputeUnknownFieldsSize(unsigned long, google::protobuf::internal::CachedSize*) const'
../../libopentelemetry_proto.a(trace_service.pb.cc.o): In function `opentelemetry::proto::collector::trace::v1::ExportTraceServiceRequest::GetMetadata() const':
trace_service.pb.cc:(.text+0x7ed): undefined reference to `google::protobuf::internal::AssignDescriptors(google::protobuf::internal::DescriptorTable const* (*)(), std::once_flag*, google::protobuf::Metadata const&)'
../../libopentelemetry_proto.a(trace_service.pb.cc.o): In function `opentelemetry::proto::collector::trace::v1::ExportTraceServiceResponse::ExportTraceServiceResponse(opentelemetry::proto::collector::trace::v1::ExportTraceServiceResponse const&)':
trace_service.pb.cc:(.text+0x895): undefined reference to `google::protobuf::internal::ZeroFieldsBase::~ZeroFieldsBase()'
../../libopentelemetry_proto.a(trace_service.pb.cc.o): In function `opentelemetry::proto::collector::trace::v1::ExportTraceServiceResponse::GetMetadata() const':
trace_service.pb.cc:(.text+0x8e3): undefined reference to `google::protobuf::internal::AssignDescriptors(google::protobuf::internal::DescriptorTable const* (*)(), std::once_flag*, google::protobuf::Metadata const&)'
../../libopentelemetry_proto.a(trace_service.pb.cc.o): In function `__static_initialization_and_destruction_0(int, int)':
trace_service.pb.cc:(.text+0x9e4): undefined reference to `google::protobuf::internal::AddDescriptorsRunner::AddDescriptorsRunner(google::protobuf::internal::DescriptorTable const*)'
../../libopentelemetry_proto.a(trace_service.pb.cc.o): In function `google::protobuf::internal::ZeroFieldsBase::ZeroFieldsBase()':
trace_service.pb.cc:(.text._ZN6google8protobuf8internal14ZeroFieldsBaseC2Ev[_ZN6google8protobuf8internal14ZeroFieldsBaseC5Ev]+0x1b): undefined reference to `vtable for google::protobuf::internal::ZeroFieldsBase'
../../libopentelemetry_proto.a(trace_service.pb.cc.o): In function `google::protobuf::internal::ZeroFieldsBase::ZeroFieldsBase(google::protobuf::Arena*, bool)':
trace_service.pb.cc:(.text._ZN6google8protobuf8internal14ZeroFieldsBaseC2EPNS0_5ArenaEb[_ZN6google8protobuf8internal14ZeroFieldsBaseC5EPNS0_5ArenaEb]+0x2f): undefined reference to `vtable for google::protobuf::internal::ZeroFieldsBase'
../../libopentelemetry_proto.a(trace_service.pb.cc.o):(.data.rel.ro+0x20): undefined reference to `google::protobuf::Message::CopyWithSourceCheck(google::protobuf::Message&, google::protobuf::Message const&)'
../../libopentelemetry_proto.a(trace_service.pb.cc.o):(.data.rel.ro+0x30): undefined reference to `google::protobuf::internal::ZeroFieldsBase::CopyImpl(google::protobuf::Message&, google::protobuf::Message const&)'
../../libopentelemetry_proto.a(trace_service.pb.cc.o):(.data.rel.ro+0x38): undefined reference to `google::protobuf::internal::ZeroFieldsBase::MergeImpl(google::protobuf::Message&, google::protobuf::Message const&)'
../../libopentelemetry_proto.a(trace_service.pb.cc.o):(.data.rel.ro._ZTVN13opentelemetry5proto9collector5trace2v126ExportTraceServiceResponseE[_ZTVN13opentelemetry5proto9collector5trace2v126ExportTraceServiceResponseE]+0x30): undefined reference to `google::protobuf::internal::ZeroFieldsBase::Clear()'
../../libopentelemetry_proto.a(trace_service.pb.cc.o):(.data.rel.ro._ZTVN13opentelemetry5proto9collector5trace2v126ExportTraceServiceResponseE[_ZTVN13opentelemetry5proto9collector5trace2v126ExportTraceServiceResponseE]+0x50): undefined reference to `google::protobuf::internal::ZeroFieldsBase::ByteSizeLong() const'
../../libopentelemetry_proto.a(trace_service.pb.cc.o):(.data.rel.ro._ZTVN13opentelemetry5proto9collector5trace2v126ExportTraceServiceResponseE[_ZTVN13opentelemetry5proto9collector5trace2v126ExportTraceServiceResponseE]+0x60): undefined reference to `google::protobuf::internal::ZeroFieldsBase::_InternalParse(char const*, google::protobuf::internal::ParseContext*)'
../../libopentelemetry_proto.a(trace_service.pb.cc.o):(.data.rel.ro._ZTVN13opentelemetry5proto9collector5trace2v126ExportTraceServiceResponseE[_ZTVN13opentelemetry5proto9collector5trace2v126ExportTraceServiceResponseE]+0x70): undefined reference to `google::protobuf::internal::ZeroFieldsBase::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const'
../../libopentelemetry_proto.a(trace_service.pb.cc.o):(.data.rel.ro._ZTVN13opentelemetry5proto9collector5trace2v126ExportTraceServiceResponseE[_ZTVN13opentelemetry5proto9collector5trace2v126ExportTraceServiceResponseE]+0x80): undefined reference to `google::protobuf::Message::SpaceUsedLong() const'
../../libopentelemetry_proto.a(trace_service.pb.cc.o): In function `opentelemetry::proto::collector::trace::v1::ExportTraceServiceResponse::~ExportTraceServiceResponse()':
trace_service.pb.cc:(.text._ZN13opentelemetry5proto9collector5trace2v126ExportTraceServiceResponseD2Ev[_ZN13opentelemetry5proto9collector5trace2v126ExportTraceServiceResponseD5Ev]+0x26): undefined reference to `google::protobuf::internal::ZeroFieldsBase::~ZeroFieldsBase()'
../../libopentelemetry_proto.a(trace_service.pb.cc.o):(.data.rel.ro._ZTVN13opentelemetry5proto9collector5trace2v125ExportTraceServiceRequestE[_ZTVN13opentelemetry5proto9collector5trace2v125ExportTraceServiceRequestE]+0x80): undefined reference to `google::protobuf::Message::SpaceUsedLong() const'
../../libopentelemetry_proto.a(trace_service.pb.cc.o):(.data.rel.ro._ZTIN13opentelemetry5proto9collector5trace2v126ExportTraceServiceResponseE[_ZTIN13opentelemetry5proto9collector5trace2v126ExportTraceServiceResponseE]+0x10): undefined reference to `typeinfo for google::protobuf::internal::ZeroFieldsBase'
collect2: error: ld returned 1 exit status
examples/otlp/CMakeFiles/example_otlp_http.dir/build.make:108: recipe for target 'examples/otlp/example_otlp_http' failed
make[2]: *** [examples/otlp/example_otlp_http] Error 1
CMakeFiles/Makefile2:1063: recipe for target 'examples/otlp/CMakeFiles/example_otlp_http.dir/all' failed
make[1]: *** [examples/otlp/CMakeFiles/example_otlp_http.dir/all] Error 2
Makefile:135: recipe for target 'all' failed
make: *** [all] Error 2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions