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
{{ message }}
This repository has been archived by the owner on Jun 15, 2024. It is now read-only.
I'm trying to build the project using CMake and Make but it appears to have an error at the linking phase, symbols from the protobuf library cannot be found.
I have the same error both on my local Manjaro or inside Docker with the following Dockerfile:
Dockerfile
# Start from a Ubuntu 20.04 image
FROM ubuntu:22.04
# Avoid timezone interactive dialog
ENV DEBIAN_FRONTEND=noninteractive
# Install necessary packages
RUN apt-get update
RUN apt-get install -y \
libprotobuf-dev \
protobuf-compiler \
cmake \
git \
build-essential
# Clone the CLD3 code from the GitHub repository
WORKDIR /opt
RUN git clone https://github.com/google/cld3.git
# Go to the cld3 directory and create a new build directory
WORKDIR /opt/cld3
RUN mkdir build
# # Change to the build directory, run CMake, and then run make
WORKDIR /opt/cld3/build
RUN cmake .. && make
# # Run tests
CMD ["./language_identifier_main", "./getonescriptspan_test", "./language_identifier_features_test"]
Just run docker build . -t cld3
The log is full of those errors:
undefined reference to `google::protobuf::XXXXX'
Complete logs
[ 2%] Running C++ protocol buffer compiler on src/task_spec.proto
[ 5%] Running C++ protocol buffer compiler on src/feature_extractor.proto
[ 8%] Running C++ protocol buffer compiler on src/sentence.proto
[ 10%] Building CXX object CMakeFiles/cld3.dir/cld_3/protos/feature_extractor.pb.cc.o
[ 13%] Building CXX object CMakeFiles/cld3.dir/cld_3/protos/sentence.pb.cc.o
[ 16%] Building CXX object CMakeFiles/cld3.dir/cld_3/protos/task_spec.pb.cc.o
[ 18%] Building CXX object CMakeFiles/cld3.dir/src/base.cc.o
[ 21%] Building CXX object CMakeFiles/cld3.dir/src/embedding_feature_extractor.cc.o
[ 24%] Building CXX object CMakeFiles/cld3.dir/src/embedding_network.cc.o
[ 27%] Building CXX object CMakeFiles/cld3.dir/src/feature_extractor.cc.o
[ 29%] Building CXX object CMakeFiles/cld3.dir/src/feature_types.cc.o
[ 32%] Building CXX object CMakeFiles/cld3.dir/src/fml_parser.cc.o
[ 35%] Building CXX object CMakeFiles/cld3.dir/src/language_identifier_features.cc.o
[ 37%] Building CXX object CMakeFiles/cld3.dir/src/lang_id_nn_params.cc.o
[ 40%] Building CXX object CMakeFiles/cld3.dir/src/nnet_language_identifier.cc.o
[ 43%] Building CXX object CMakeFiles/cld3.dir/src/registry.cc.o
[ 45%] Building CXX object CMakeFiles/cld3.dir/src/relevant_script_feature.cc.o
[ 48%] Building CXX object CMakeFiles/cld3.dir/src/sentence_features.cc.o
[ 51%] Building CXX object CMakeFiles/cld3.dir/src/task_context.cc.o
[ 54%] Building CXX object CMakeFiles/cld3.dir/src/task_context_params.cc.o
[ 56%] Building CXX object CMakeFiles/cld3.dir/src/unicodetext.cc.o
[ 59%] Building CXX object CMakeFiles/cld3.dir/src/utils.cc.o
[ 62%] Building CXX object CMakeFiles/cld3.dir/src/workspace.cc.o
[ 64%] Building CXX object CMakeFiles/cld3.dir/src/script_span/generated_entities.cc.o
[ 67%] Building CXX object CMakeFiles/cld3.dir/src/script_span/getonescriptspan.cc.o
[ 70%] Building CXX object CMakeFiles/cld3.dir/src/script_span/getonescriptspan_test.cc.o
[ 72%] Building CXX object CMakeFiles/cld3.dir/src/script_span/utf8statetable.cc.o
[ 75%] Building CXX object CMakeFiles/cld3.dir/src/script_span/offsetmap.cc.o
[ 78%] Building CXX object CMakeFiles/cld3.dir/src/script_span/text_processing.cc.o
[ 81%] Building CXX object CMakeFiles/cld3.dir/src/script_span/fixunicodevalue.cc.o
[ 83%] Linking CXX static library libcld3.a
[ 83%] Built target cld3
[ 86%] Building CXX object CMakeFiles/language_identifier_main.dir/src/language_identifier_main.cc.o
[ 89%] Linking CXX executable language_identifier_main
/usr/bin/ld: libcld3.a(nnet_language_identifier.cc.o): in function `chrome_lang_id::NNetLanguageIdentifier::FindLanguageOfValidUTF8(std::string const&)':
nnet_language_identifier.cc:(.text+0xdf5): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(task_context.cc.o): in function `chrome_lang_id::TaskContext::GetInput(std::string const&)':
task_context.cc:(.text+0x12f): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(task_context.cc.o): in function `chrome_lang_id::TaskContext::SetParameter(std::string const&, std::string const&)':
task_context.cc:(.text+0x325): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: task_context.cc:(.text+0x3ab): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: task_context.cc:(.text+0x3fe): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(task_context.cc.o): in function `chrome_lang_id::TaskInput::_internal_file_format_size() const':
task_context.cc:(.text._ZNK14chrome_lang_id9TaskInput26_internal_file_format_sizeEv[_ZNK14chrome_lang_id9TaskInput26_internal_file_format_sizeEv]+0x18): undefined reference to `google::protobuf::RepeatedPtrField<std::string>::size() const'
/usr/bin/ld: libcld3.a(task_context.cc.o): in function `chrome_lang_id::TaskInput::_internal_file_format(int) const':
task_context.cc:(.text._ZNK14chrome_lang_id9TaskInput21_internal_file_formatEi[_ZNK14chrome_lang_id9TaskInput21_internal_file_formatEi]+0x20): undefined reference to `google::protobuf::RepeatedPtrField<std::string>::Get(int) const'
/usr/bin/ld: libcld3.a(task_context.cc.o): in function `chrome_lang_id::TaskInput::add_file_format(std::string const&)':
task_context.cc:(.text._ZN14chrome_lang_id9TaskInput15add_file_formatERKSs[_ZN14chrome_lang_id9TaskInput15add_file_formatERKSs]+0x1c): undefined reference to `google::protobuf::RepeatedPtrField<std::string>::Add()'
/usr/bin/ld: libcld3.a(task_context.cc.o): in function `chrome_lang_id::TaskInput::_internal_record_format_size() const':
task_context.cc:(.text._ZNK14chrome_lang_id9TaskInput28_internal_record_format_sizeEv[_ZNK14chrome_lang_id9TaskInput28_internal_record_format_sizeEv]+0x18): undefined reference to `google::protobuf::RepeatedPtrField<std::string>::size() const'
/usr/bin/ld: libcld3.a(task_context.cc.o): in function `chrome_lang_id::TaskInput::_internal_record_format(int) const':
task_context.cc:(.text._ZNK14chrome_lang_id9TaskInput23_internal_record_formatEi[_ZNK14chrome_lang_id9TaskInput23_internal_record_formatEi]+0x20): undefined reference to `google::protobuf::RepeatedPtrField<std::string>::Get(int) const'
/usr/bin/ld: libcld3.a(task_context.cc.o): in function `chrome_lang_id::TaskInput::add_record_format(std::string const&)':
task_context.cc:(.text._ZN14chrome_lang_id9TaskInput17add_record_formatERKSs[_ZN14chrome_lang_id9TaskInput17add_record_formatERKSs]+0x1c): undefined reference to `google::protobuf::RepeatedPtrField<std::string>::Add()'
/usr/bin/ld: libcld3.a(sentence.pb.cc.o): in function `chrome_lang_id::Token_BreakLevel_Name(chrome_lang_id::Token_BreakLevel)':
sentence.pb.cc:(.text+0x7d): undefined reference to `google::protobuf::internal::InitializeEnumStrings(google::protobuf::internal::EnumEntry const*, int const*, unsigned long, google::protobuf::internal::ExplicitlyConstructed<std::string, 1ul>*)'
/usr/bin/ld: libcld3.a(sentence.pb.cc.o): in function `chrome_lang_id::Sentence::Sentence(chrome_lang_id::Sentence const&)':
sentence.pb.cc:(.text+0x33b): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: sentence.pb.cc:(.text+0x38c): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(sentence.pb.cc.o): in function `chrome_lang_id::Sentence::_InternalParse(char const*, google::protobuf::internal::ParseContext*)':
sentence.pb.cc:(.text+0x5f8): undefined reference to `google::protobuf::internal::InlineGreedyStringParser(std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: sentence.pb.cc:(.text+0x652): undefined reference to `google::protobuf::internal::InlineGreedyStringParser(std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: sentence.pb.cc:(.text+0x7dc): undefined reference to `google::protobuf::internal::UnknownFieldParse(unsigned int, std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: libcld3.a(sentence.pb.cc.o): in function `chrome_lang_id::Sentence::MergeFrom(chrome_lang_id::Sentence const&)':
sentence.pb.cc:(.text+0xd4d): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: sentence.pb.cc:(.text+0xdb2): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(sentence.pb.cc.o): in function `chrome_lang_id::Token::Token(chrome_lang_id::Token const&)':
sentence.pb.cc:(.text+0x11ce): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: sentence.pb.cc:(.text+0x121f): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: sentence.pb.cc:(.text+0x1270): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(sentence.pb.cc.o):sentence.pb.cc:(.text+0x12c1): more undefined references to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)' follow
/usr/bin/ld: libcld3.a(sentence.pb.cc.o): in function `chrome_lang_id::Token::_InternalParse(char const*, google::protobuf::internal::ParseContext*)':
sentence.pb.cc:(.text+0x1586): undefined reference to `google::protobuf::internal::InlineGreedyStringParser(std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: sentence.pb.cc:(.text+0x16d0): undefined reference to `google::protobuf::internal::InlineGreedyStringParser(std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: sentence.pb.cc:(.text+0x172a): undefined reference to `google::protobuf::internal::InlineGreedyStringParser(std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: sentence.pb.cc:(.text+0x1784): undefined reference to `google::protobuf::internal::InlineGreedyStringParser(std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: sentence.pb.cc:(.text+0x182e): undefined reference to `google::protobuf::internal::WriteVarint(unsigned int, unsigned long, std::string*)'
/usr/bin/ld: sentence.pb.cc:(.text+0x1910): undefined reference to `google::protobuf::internal::UnknownFieldParse(unsigned int, std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: libcld3.a(sentence.pb.cc.o): in function `chrome_lang_id::Token::MergeFrom(chrome_lang_id::Token const&)':
sentence.pb.cc:(.text+0x20a5): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: sentence.pb.cc:(.text+0x2113): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: sentence.pb.cc:(.text+0x2181): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: sentence.pb.cc:(.text+0x21ef): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(sentence.pb.cc.o): in function `google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliased(unsigned int, std::string const&, unsigned char*)':
sentence.pb.cc:(.text._ZN6google8protobuf2io19EpsCopyOutputStream23WriteStringMaybeAliasedEjRKSsPh[_ZN6google8protobuf2io19EpsCopyOutputStream23WriteStringMaybeAliasedEjRKSsPh]+0x97): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteStringMaybeAliasedOutline(unsigned int, std::string const&, unsigned char*)'
/usr/bin/ld: libcld3.a(sentence.pb.cc.o): in function `google::protobuf::internal::ArenaStringPtr::InitDefault()':
sentence.pb.cc:(.text._ZN6google8protobuf8internal14ArenaStringPtr11InitDefaultEv[_ZN6google8protobuf8internal14ArenaStringPtr11InitDefaultEv]+0x22): undefined reference to `google::protobuf::internal::fixed_address_empty_string'
/usr/bin/ld: libcld3.a(sentence.pb.cc.o): in function `google::protobuf::internal::GetEmptyStringAlreadyInited()':
sentence.pb.cc:(.text._ZN6google8protobuf8internal27GetEmptyStringAlreadyInitedEv[_ZN6google8protobuf8internal27GetEmptyStringAlreadyInitedEv]+0x7): undefined reference to `google::protobuf::internal::fixed_address_empty_string'
/usr/bin/ld: libcld3.a(sentence.pb.cc.o): in function `chrome_lang_id::Sentence::_internal_mutable_id()':
sentence.pb.cc:(.text._ZN14chrome_lang_id8Sentence20_internal_mutable_idEv[_ZN14chrome_lang_id8Sentence20_internal_mutable_idEv]+0x44): undefined reference to `google::protobuf::internal::ArenaStringPtr::Mutable(google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(sentence.pb.cc.o): in function `chrome_lang_id::Sentence::_internal_mutable_text()':
sentence.pb.cc:(.text._ZN14chrome_lang_id8Sentence22_internal_mutable_textEv[_ZN14chrome_lang_id8Sentence22_internal_mutable_textEv]+0x44): undefined reference to `google::protobuf::internal::ArenaStringPtr::Mutable(google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(sentence.pb.cc.o): in function `chrome_lang_id::Token::_internal_mutable_word()':
sentence.pb.cc:(.text._ZN14chrome_lang_id5Token22_internal_mutable_wordEv[_ZN14chrome_lang_id5Token22_internal_mutable_wordEv]+0x44): undefined reference to `google::protobuf::internal::ArenaStringPtr::Mutable(google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(sentence.pb.cc.o): in function `chrome_lang_id::Token::_internal_mutable_tag()':
sentence.pb.cc:(.text._ZN14chrome_lang_id5Token21_internal_mutable_tagEv[_ZN14chrome_lang_id5Token21_internal_mutable_tagEv]+0x44): undefined reference to `google::protobuf::internal::ArenaStringPtr::Mutable(google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(sentence.pb.cc.o): in function `chrome_lang_id::Token::_internal_mutable_category()':
sentence.pb.cc:(.text._ZN14chrome_lang_id5Token26_internal_mutable_categoryEv[_ZN14chrome_lang_id5Token26_internal_mutable_categoryEv]+0x44): undefined reference to `google::protobuf::internal::ArenaStringPtr::Mutable(google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(sentence.pb.cc.o):sentence.pb.cc:(.text._ZN14chrome_lang_id5Token23_internal_mutable_labelEv[_ZN14chrome_lang_id5Token23_internal_mutable_labelEv]+0x44): more undefined references to `google::protobuf::internal::ArenaStringPtr::Mutable(google::protobuf::Arena*)' follow
/usr/bin/ld: libcld3.a(sentence.pb.cc.o):(.data.rel+0x48): undefined reference to `google::protobuf::internal::fixed_address_empty_string'
/usr/bin/ld: libcld3.a(sentence.pb.cc.o):(.data.rel+0x50): undefined reference to `google::protobuf::internal::fixed_address_empty_string'
/usr/bin/ld: libcld3.a(sentence.pb.cc.o):(.data.rel+0x90): undefined reference to `google::protobuf::internal::fixed_address_empty_string'
/usr/bin/ld: libcld3.a(sentence.pb.cc.o):(.data.rel+0x98): undefined reference to `google::protobuf::internal::fixed_address_empty_string'
/usr/bin/ld: libcld3.a(sentence.pb.cc.o):(.data.rel+0xa0): undefined reference to `google::protobuf::internal::fixed_address_empty_string'
/usr/bin/ld: libcld3.a(sentence.pb.cc.o):(.data.rel+0xa8): more undefined references to `google::protobuf::internal::fixed_address_empty_string' follow
/usr/bin/ld: libcld3.a(sentence.pb.cc.o): in function `void google::protobuf::internal::InternalMetadata::MergeFrom<std::string>(google::protobuf::internal::InternalMetadata const&)':
sentence.pb.cc:(.text._ZN6google8protobuf8internal16InternalMetadata9MergeFromISsEEvRKS2_[_ZN6google8protobuf8internal16InternalMetadata9MergeFromISsEEvRKS2_]+0x3f): undefined reference to `void google::protobuf::internal::InternalMetadata::DoMergeFrom<std::string>(std::string const&)'
/usr/bin/ld: libcld3.a(sentence.pb.cc.o): in function `void google::protobuf::internal::InternalMetadata::Clear<std::string>()':
sentence.pb.cc:(.text._ZN6google8protobuf8internal16InternalMetadata5ClearISsEEvv[_ZN6google8protobuf8internal16InternalMetadata5ClearISsEEvv]+0x24): undefined reference to `void google::protobuf::internal::InternalMetadata::DoClear<std::string>()'
/usr/bin/ld: libcld3.a(sentence.pb.cc.o):(.data.rel.ro._ZTVN14chrome_lang_id5TokenE[_ZTVN14chrome_lang_id5TokenE]+0x40): undefined reference to `google::protobuf::MessageLite::InitializationErrorString() const'
/usr/bin/ld: libcld3.a(sentence.pb.cc.o):(.data.rel.ro._ZTVN14chrome_lang_id8SentenceE[_ZTVN14chrome_lang_id8SentenceE]+0x40): undefined reference to `google::protobuf::MessageLite::InitializationErrorString() const'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskInput_Part::TaskInput_Part(chrome_lang_id::TaskInput_Part const&)':
task_spec.pb.cc:(.text+0x156): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x1a7): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x1f8): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskInput_Part::_InternalParse(char const*, google::protobuf::internal::ParseContext*)':
task_spec.pb.cc:(.text+0x42e): undefined reference to `google::protobuf::internal::InlineGreedyStringParser(std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x488): undefined reference to `google::protobuf::internal::InlineGreedyStringParser(std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x4de): undefined reference to `google::protobuf::internal::InlineGreedyStringParser(std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x569): undefined reference to `google::protobuf::internal::UnknownFieldParse(unsigned int, std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskInput_Part::MergeFrom(chrome_lang_id::TaskInput_Part const&)':
task_spec.pb.cc:(.text+0x9d0): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0xa38): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0xaa0): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskInput::TaskInput(chrome_lang_id::TaskInput const&)':
task_spec.pb.cc:(.text+0xde1): undefined reference to `google::protobuf::RepeatedPtrField<std::string>::RepeatedPtrField(google::protobuf::RepeatedPtrField<std::string> const&)'
/usr/bin/ld: task_spec.pb.cc:(.text+0xdfe): undefined reference to `google::protobuf::RepeatedPtrField<std::string>::RepeatedPtrField(google::protobuf::RepeatedPtrField<std::string> const&)'
/usr/bin/ld: task_spec.pb.cc:(.text+0xe85): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0xed6): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0xefc): undefined reference to `google::protobuf::RepeatedPtrField<std::string>::~RepeatedPtrField()'
/usr/bin/ld: task_spec.pb.cc:(.text+0xf12): undefined reference to `google::protobuf::RepeatedPtrField<std::string>::~RepeatedPtrField()'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskInput::Clear()':
task_spec.pb.cc:(.text+0x1033): undefined reference to `google::protobuf::RepeatedPtrField<std::string>::Clear()'
/usr/bin/ld: task_spec.pb.cc:(.text+0x1043): undefined reference to `google::protobuf::RepeatedPtrField<std::string>::Clear()'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskInput::_InternalParse(char const*, google::protobuf::internal::ParseContext*)':
task_spec.pb.cc:(.text+0x1190): undefined reference to `google::protobuf::internal::InlineGreedyStringParser(std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x11ea): undefined reference to `google::protobuf::internal::InlineGreedyStringParser(std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x125c): undefined reference to `google::protobuf::internal::InlineGreedyStringParser(std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x12fe): undefined reference to `google::protobuf::internal::InlineGreedyStringParser(std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x14b8): undefined reference to `google::protobuf::internal::UnknownFieldParse(unsigned int, std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskInput::_InternalSerialize(unsigned char*, google::protobuf::io::EpsCopyOutputStream*) const':
task_spec.pb.cc:(.text+0x16f4): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteStringOutline(unsigned int, std::string const&, unsigned char*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x18e3): undefined reference to `google::protobuf::io::EpsCopyOutputStream::WriteStringOutline(unsigned int, std::string const&, unsigned char*)'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskInput::ByteSizeLong() const':
task_spec.pb.cc:(.text+0x1be6): undefined reference to `google::protobuf::RepeatedPtrField<std::string>::size() const'
/usr/bin/ld: task_spec.pb.cc:(.text+0x1c08): undefined reference to `google::protobuf::RepeatedPtrField<std::string>::size() const'
/usr/bin/ld: task_spec.pb.cc:(.text+0x1c22): undefined reference to `google::protobuf::RepeatedPtrField<std::string>::Get(int) const'
/usr/bin/ld: task_spec.pb.cc:(.text+0x1c4a): undefined reference to `google::protobuf::RepeatedPtrField<std::string>::size() const'
/usr/bin/ld: task_spec.pb.cc:(.text+0x1c6c): undefined reference to `google::protobuf::RepeatedPtrField<std::string>::size() const'
/usr/bin/ld: task_spec.pb.cc:(.text+0x1c86): undefined reference to `google::protobuf::RepeatedPtrField<std::string>::Get(int) const'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskInput::MergeFrom(chrome_lang_id::TaskInput const&)':
task_spec.pb.cc:(.text+0x1ee1): undefined reference to `google::protobuf::RepeatedPtrField<std::string>::MergeFrom(google::protobuf::RepeatedPtrField<std::string> const&)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x1efc): undefined reference to `google::protobuf::RepeatedPtrField<std::string>::MergeFrom(google::protobuf::RepeatedPtrField<std::string> const&)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x1fa3): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x2008): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskInput::InternalSwap(chrome_lang_id::TaskInput*)':
task_spec.pb.cc:(.text+0x21a3): undefined reference to `google::protobuf::RepeatedPtrField<std::string>::InternalSwap(google::protobuf::RepeatedPtrField<std::string>*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x21be): undefined reference to `google::protobuf::RepeatedPtrField<std::string>::InternalSwap(google::protobuf::RepeatedPtrField<std::string>*)'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskOutput::TaskOutput(chrome_lang_id::TaskOutput const&)':
task_spec.pb.cc:(.text+0x2423): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x2474): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x24c5): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x2516): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x2567): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskOutput::_InternalParse(char const*, google::protobuf::internal::ParseContext*)':
task_spec.pb.cc:(.text+0x27f8): undefined reference to `google::protobuf::internal::InlineGreedyStringParser(std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x2852): undefined reference to `google::protobuf::internal::InlineGreedyStringParser(std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x28ac): undefined reference to `google::protobuf::internal::InlineGreedyStringParser(std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x2956): undefined reference to `google::protobuf::internal::InlineGreedyStringParser(std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x29ac): undefined reference to `google::protobuf::internal::InlineGreedyStringParser(std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x2a40): undefined reference to `google::protobuf::internal::UnknownFieldParse(unsigned int, std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskOutput::MergeFrom(chrome_lang_id::TaskOutput const&)':
task_spec.pb.cc:(.text+0x3005): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x3073): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x30e1): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x314f): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x31bd): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o):task_spec.pb.cc:(.text+0x3612): more undefined references to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)' follow
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskSpec_Parameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*)':
task_spec.pb.cc:(.text+0x386e): undefined reference to `google::protobuf::internal::InlineGreedyStringParser(std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x38c4): undefined reference to `google::protobuf::internal::InlineGreedyStringParser(std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x3946): undefined reference to `google::protobuf::internal::UnknownFieldParse(unsigned int, std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskSpec_Parameter::MergeFrom(chrome_lang_id::TaskSpec_Parameter const&)':
task_spec.pb.cc:(.text+0x3d38): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x3d9d): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskSpec::TaskSpec(chrome_lang_id::TaskSpec const&)':
task_spec.pb.cc:(.text+0x4177): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x41cc): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskSpec::_InternalParse(char const*, google::protobuf::internal::ParseContext*)':
task_spec.pb.cc:(.text+0x4470): undefined reference to `google::protobuf::internal::InlineGreedyStringParser(std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x44ca): undefined reference to `google::protobuf::internal::InlineGreedyStringParser(std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x4737): undefined reference to `google::protobuf::internal::UnknownFieldParse(unsigned int, std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskSpec::MergeFrom(chrome_lang_id::TaskSpec const&)':
task_spec.pb.cc:(.text+0x4e75): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: task_spec.pb.cc:(.text+0x4eda): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskInput_Part::_internal_mutable_file_pattern()':
task_spec.pb.cc:(.text._ZN14chrome_lang_id14TaskInput_Part30_internal_mutable_file_patternEv[_ZN14chrome_lang_id14TaskInput_Part30_internal_mutable_file_patternEv]+0x44): undefined reference to `google::protobuf::internal::ArenaStringPtr::Mutable(google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskInput_Part::_internal_mutable_file_format()':
task_spec.pb.cc:(.text._ZN14chrome_lang_id14TaskInput_Part29_internal_mutable_file_formatEv[_ZN14chrome_lang_id14TaskInput_Part29_internal_mutable_file_formatEv]+0x44): undefined reference to `google::protobuf::internal::ArenaStringPtr::Mutable(google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskInput_Part::_internal_mutable_record_format()':
task_spec.pb.cc:(.text._ZN14chrome_lang_id14TaskInput_Part31_internal_mutable_record_formatEv[_ZN14chrome_lang_id14TaskInput_Part31_internal_mutable_record_formatEv]+0x44): undefined reference to `google::protobuf::internal::ArenaStringPtr::Mutable(google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskInput::_internal_mutable_name()':
task_spec.pb.cc:(.text._ZN14chrome_lang_id9TaskInput22_internal_mutable_nameEv[_ZN14chrome_lang_id9TaskInput22_internal_mutable_nameEv]+0x44): undefined reference to `google::protobuf::internal::ArenaStringPtr::Mutable(google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskInput::_internal_mutable_creator()':
task_spec.pb.cc:(.text._ZN14chrome_lang_id9TaskInput25_internal_mutable_creatorEv[_ZN14chrome_lang_id9TaskInput25_internal_mutable_creatorEv]+0x44): undefined reference to `google::protobuf::internal::ArenaStringPtr::Mutable(google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskInput::_internal_add_file_format()':
task_spec.pb.cc:(.text._ZN14chrome_lang_id9TaskInput25_internal_add_file_formatEv[_ZN14chrome_lang_id9TaskInput25_internal_add_file_formatEv]+0x18): undefined reference to `google::protobuf::RepeatedPtrField<std::string>::Add()'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskInput::_internal_add_record_format()':
task_spec.pb.cc:(.text._ZN14chrome_lang_id9TaskInput27_internal_add_record_formatEv[_ZN14chrome_lang_id9TaskInput27_internal_add_record_formatEv]+0x18): undefined reference to `google::protobuf::RepeatedPtrField<std::string>::Add()'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskOutput::_internal_mutable_name()':
task_spec.pb.cc:(.text._ZN14chrome_lang_id10TaskOutput22_internal_mutable_nameEv[_ZN14chrome_lang_id10TaskOutput22_internal_mutable_nameEv]+0x44): undefined reference to `google::protobuf::internal::ArenaStringPtr::Mutable(google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskOutput::_internal_mutable_file_format()':
task_spec.pb.cc:(.text._ZN14chrome_lang_id10TaskOutput29_internal_mutable_file_formatEv[_ZN14chrome_lang_id10TaskOutput29_internal_mutable_file_formatEv]+0x44): undefined reference to `google::protobuf::internal::ArenaStringPtr::Mutable(google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskOutput::_internal_mutable_record_format()':
task_spec.pb.cc:(.text._ZN14chrome_lang_id10TaskOutput31_internal_mutable_record_formatEv[_ZN14chrome_lang_id10TaskOutput31_internal_mutable_record_formatEv]+0x44): undefined reference to `google::protobuf::internal::ArenaStringPtr::Mutable(google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskOutput::_internal_mutable_file_base()':
task_spec.pb.cc:(.text._ZN14chrome_lang_id10TaskOutput27_internal_mutable_file_baseEv[_ZN14chrome_lang_id10TaskOutput27_internal_mutable_file_baseEv]+0x44): undefined reference to `google::protobuf::internal::ArenaStringPtr::Mutable(google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskOutput::_internal_mutable_file_extension()':
task_spec.pb.cc:(.text._ZN14chrome_lang_id10TaskOutput32_internal_mutable_file_extensionEv[_ZN14chrome_lang_id10TaskOutput32_internal_mutable_file_extensionEv]+0x44): undefined reference to `google::protobuf::internal::ArenaStringPtr::Mutable(google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o):task_spec.pb.cc:(.text._ZN14chrome_lang_id18TaskSpec_Parameter22_internal_mutable_nameEv[_ZN14chrome_lang_id18TaskSpec_Parameter22_internal_mutable_nameEv]+0x44): more undefined references to `google::protobuf::internal::ArenaStringPtr::Mutable(google::protobuf::Arena*)' follow
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o):(.data.rel+0x18): undefined reference to `google::protobuf::internal::fixed_address_empty_string'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o):(.data.rel+0x20): undefined reference to `google::protobuf::internal::fixed_address_empty_string'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o):(.data.rel+0x28): undefined reference to `google::protobuf::internal::fixed_address_empty_string'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o):(.data.rel+0xa0): undefined reference to `google::protobuf::internal::fixed_address_empty_string'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o):(.data.rel+0xa8): undefined reference to `google::protobuf::internal::fixed_address_empty_string'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o):(.data.rel+0xd8): more undefined references to `google::protobuf::internal::fixed_address_empty_string' follow
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskInput::SharedCtor(google::protobuf::Arena*, bool)':
task_spec.pb.cc:(.text._ZN14chrome_lang_id9TaskInput10SharedCtorEPN6google8protobuf5ArenaEb[_ZN14chrome_lang_id9TaskInput10SharedCtorEPN6google8protobuf5ArenaEb]+0x61): undefined reference to `google::protobuf::RepeatedPtrField<std::string>::RepeatedPtrField(google::protobuf::Arena*)'
/usr/bin/ld: task_spec.pb.cc:(.text._ZN14chrome_lang_id9TaskInput10SharedCtorEPN6google8protobuf5ArenaEb[_ZN14chrome_lang_id9TaskInput10SharedCtorEPN6google8protobuf5ArenaEb]+0x7a): undefined reference to `google::protobuf::RepeatedPtrField<std::string>::RepeatedPtrField(google::protobuf::Arena*)'
/usr/bin/ld: task_spec.pb.cc:(.text._ZN14chrome_lang_id9TaskInput10SharedCtorEPN6google8protobuf5ArenaEb[_ZN14chrome_lang_id9TaskInput10SharedCtorEPN6google8protobuf5ArenaEb]+0xc3): undefined reference to `google::protobuf::RepeatedPtrField<std::string>::~RepeatedPtrField()'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o): in function `chrome_lang_id::TaskInput::SharedDtor()':
task_spec.pb.cc:(.text._ZN14chrome_lang_id9TaskInput10SharedDtorEv[_ZN14chrome_lang_id9TaskInput10SharedDtorEv]+0x9a): undefined reference to `google::protobuf::RepeatedPtrField<std::string>::~RepeatedPtrField()'
/usr/bin/ld: task_spec.pb.cc:(.text._ZN14chrome_lang_id9TaskInput10SharedDtorEv[_ZN14chrome_lang_id9TaskInput10SharedDtorEv]+0xaa): undefined reference to `google::protobuf::RepeatedPtrField<std::string>::~RepeatedPtrField()'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o):(.data.rel.ro._ZTVN14chrome_lang_id8TaskSpecE[_ZTVN14chrome_lang_id8TaskSpecE]+0x40): undefined reference to `google::protobuf::MessageLite::InitializationErrorString() const'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o):(.data.rel.ro._ZTVN14chrome_lang_id18TaskSpec_ParameterE[_ZTVN14chrome_lang_id18TaskSpec_ParameterE]+0x40): undefined reference to `google::protobuf::MessageLite::InitializationErrorString() const'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o):(.data.rel.ro._ZTVN14chrome_lang_id10TaskOutputE[_ZTVN14chrome_lang_id10TaskOutputE]+0x40): undefined reference to `google::protobuf::MessageLite::InitializationErrorString() const'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o):(.data.rel.ro._ZTVN14chrome_lang_id9TaskInputE[_ZTVN14chrome_lang_id9TaskInputE]+0x40): undefined reference to `google::protobuf::MessageLite::InitializationErrorString() const'
/usr/bin/ld: libcld3.a(task_spec.pb.cc.o):(.data.rel.ro._ZTVN14chrome_lang_id14TaskInput_PartE[_ZTVN14chrome_lang_id14TaskInput_PartE]+0x40): undefined reference to `google::protobuf::MessageLite::InitializationErrorString() const'
/usr/bin/ld: libcld3.a(fml_parser.cc.o): in function `chrome_lang_id::FMLParser::Parse(std::string const&, chrome_lang_id::FeatureExtractorDescriptor*)':
fml_parser.cc:(.text+0x686): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(fml_parser.cc.o): in function `chrome_lang_id::FMLParser::ParseFeature(chrome_lang_id::FeatureFunctionDescriptor*) [clone .localalias]':
fml_parser.cc:(.text+0x821): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: fml_parser.cc:(.text+0x8d5): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: fml_parser.cc:(.text+0x9a6): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(fml_parser.cc.o): in function `chrome_lang_id::FMLParser::ParseParameter(chrome_lang_id::FeatureFunctionDescriptor*)':
fml_parser.cc:(.text+0xbb9): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(fml_parser.cc.o):fml_parser.cc:(.text+0xc04): more undefined references to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)' follow
/usr/bin/ld: libcld3.a(feature_extractor.pb.cc.o): in function `chrome_lang_id::Parameter::_InternalParse(char const*, google::protobuf::internal::ParseContext*)':
feature_extractor.pb.cc:(.text+0x3aa): undefined reference to `google::protobuf::internal::InlineGreedyStringParser(std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: feature_extractor.pb.cc:(.text+0x400): undefined reference to `google::protobuf::internal::InlineGreedyStringParser(std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: feature_extractor.pb.cc:(.text+0x482): undefined reference to `google::protobuf::internal::UnknownFieldParse(unsigned int, std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: libcld3.a(feature_extractor.pb.cc.o): in function `chrome_lang_id::Parameter::MergeFrom(chrome_lang_id::Parameter const&)':
feature_extractor.pb.cc:(.text+0x878): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: feature_extractor.pb.cc:(.text+0x8dd): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(feature_extractor.pb.cc.o): in function `chrome_lang_id::FeatureFunctionDescriptor::FeatureFunctionDescriptor(chrome_lang_id::FeatureFunctionDescriptor const&)':
feature_extractor.pb.cc:(.text+0xc7f): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: feature_extractor.pb.cc:(.text+0xcd0): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(feature_extractor.pb.cc.o): in function `chrome_lang_id::FeatureFunctionDescriptor::_InternalParse(char const*, google::protobuf::internal::ParseContext*)':
feature_extractor.pb.cc:(.text+0xf66): undefined reference to `google::protobuf::internal::InlineGreedyStringParser(std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: feature_extractor.pb.cc:(.text+0xfc0): undefined reference to `google::protobuf::internal::InlineGreedyStringParser(std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: feature_extractor.pb.cc:(.text+0x11db): undefined reference to `google::protobuf::internal::UnknownFieldParse(unsigned int, std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: libcld3.a(feature_extractor.pb.cc.o): in function `chrome_lang_id::FeatureFunctionDescriptor::MergeFrom(chrome_lang_id::FeatureFunctionDescriptor const&)':
feature_extractor.pb.cc:(.text+0x187c): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: feature_extractor.pb.cc:(.text+0x18e1): undefined reference to `google::protobuf::internal::ArenaStringPtr::Set(std::string const&, google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(feature_extractor.pb.cc.o): in function `chrome_lang_id::FeatureExtractorDescriptor::_InternalParse(char const*, google::protobuf::internal::ParseContext*)':
feature_extractor.pb.cc:(.text+0x1f4b): undefined reference to `google::protobuf::internal::UnknownFieldParse(unsigned int, std::string*, char const*, google::protobuf::internal::ParseContext*)'
/usr/bin/ld: libcld3.a(feature_extractor.pb.cc.o): in function `chrome_lang_id::Parameter::_internal_mutable_name()':
feature_extractor.pb.cc:(.text._ZN14chrome_lang_id9Parameter22_internal_mutable_nameEv[_ZN14chrome_lang_id9Parameter22_internal_mutable_nameEv]+0x44): undefined reference to `google::protobuf::internal::ArenaStringPtr::Mutable(google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(feature_extractor.pb.cc.o): in function `chrome_lang_id::Parameter::_internal_mutable_value()':
feature_extractor.pb.cc:(.text._ZN14chrome_lang_id9Parameter23_internal_mutable_valueEv[_ZN14chrome_lang_id9Parameter23_internal_mutable_valueEv]+0x44): undefined reference to `google::protobuf::internal::ArenaStringPtr::Mutable(google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(feature_extractor.pb.cc.o): in function `chrome_lang_id::FeatureFunctionDescriptor::_internal_mutable_type()':
feature_extractor.pb.cc:(.text._ZN14chrome_lang_id25FeatureFunctionDescriptor22_internal_mutable_typeEv[_ZN14chrome_lang_id25FeatureFunctionDescriptor22_internal_mutable_typeEv]+0x44): undefined reference to `google::protobuf::internal::ArenaStringPtr::Mutable(google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(feature_extractor.pb.cc.o): in function `chrome_lang_id::FeatureFunctionDescriptor::_internal_mutable_name()':
feature_extractor.pb.cc:(.text._ZN14chrome_lang_id25FeatureFunctionDescriptor22_internal_mutable_nameEv[_ZN14chrome_lang_id25FeatureFunctionDescriptor22_internal_mutable_nameEv]+0x44): undefined reference to `google::protobuf::internal::ArenaStringPtr::Mutable(google::protobuf::Arena*)'
/usr/bin/ld: libcld3.a(feature_extractor.pb.cc.o):(.data.rel+0x18): undefined reference to `google::protobuf::internal::fixed_address_empty_string'
/usr/bin/ld: libcld3.a(feature_extractor.pb.cc.o):(.data.rel+0x20): undefined reference to `google::protobuf::internal::fixed_address_empty_string'
/usr/bin/ld: libcld3.a(feature_extractor.pb.cc.o):(.data.rel+0x88): undefined reference to `google::protobuf::internal::fixed_address_empty_string'
/usr/bin/ld: libcld3.a(feature_extractor.pb.cc.o):(.data.rel+0x90): undefined reference to `google::protobuf::internal::fixed_address_empty_string'
/usr/bin/ld: libcld3.a(feature_extractor.pb.cc.o):(.data.rel.ro._ZTVN14chrome_lang_id26FeatureExtractorDescriptorE[_ZTVN14chrome_lang_id26FeatureExtractorDescriptorE]+0x40): undefined reference to `google::protobuf::MessageLite::InitializationErrorString() const'
/usr/bin/ld: libcld3.a(feature_extractor.pb.cc.o):(.data.rel.ro._ZTVN14chrome_lang_id25FeatureFunctionDescriptorE[_ZTVN14chrome_lang_id25FeatureFunctionDescriptorE]+0x40): undefined reference to `google::protobuf::MessageLite::InitializationErrorString() const'
/usr/bin/ld: libcld3.a(feature_extractor.pb.cc.o):(.data.rel.ro._ZTVN14chrome_lang_id9ParameterE[_ZTVN14chrome_lang_id9ParameterE]+0x40): undefined reference to `google::protobuf::MessageLite::InitializationErrorString() const'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/language_identifier_main.dir/build.make:99: language_identifier_main] Error 1
make[1]: *** [CMakeFiles/Makefile2:115: CMakeFiles/language_identifier_main.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
I checked and symbols seems to exists in the system library:
$ nm -gDC /usr/lib/libprotobuf.so | grep InitializationErrorString
00000000000e9820 T google::protobuf::MessageLite::InitializationErrorString[abi:cxx11]() const
00000000001d6930 T google::protobuf::Message::InitializationErrorString[abi:cxx11]() const
$ nm -gDC /usr/lib/libprotobuf-lite.so | grep InitializationErrorString
0000000000066230 T google::protobuf::MessageLite::InitializationErrorString[abi:cxx11]() const
The text was updated successfully, but these errors were encountered:
Description
I'm trying to build the project using CMake and Make but it appears to have an error at the linking phase, symbols from the protobuf library cannot be found.
The final goal is to develop a Node.js wrapper around the library, you can find the wip repository here: https://github.com/Aschen/node-cld3
Thanks you in advance for your help!
Reproduce
I have the same error both on my local Manjaro or inside Docker with the following Dockerfile:
Dockerfile
Just run
docker build . -t cld3
The log is full of those errors:
Complete logs
I checked and symbols seems to exists in the system library:
The text was updated successfully, but these errors were encountered: