Skip to content
This repository was archived by the owner on Jun 15, 2024. It is now read-only.
This repository was archived by the owner on Jun 15, 2024. It is now read-only.

Cannot build with CMake and Make #84

@Aschen

Description

@Aschen

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
# 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

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