Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-2721

[C++] Link error with Arrow C++ build with -DARROW_ORC=ON on CentOS 7

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.10.0
    • Component/s: C++

      Description

      Build master with -DARROW_ORC=ON:

      Unable to find source-code formatter for language: shell. Available languages are: actionscript, ada, applescript, bash, c, c#, c++, cpp, css, erlang, go, groovy, haskell, html, java, javascript, js, json, lua, none, nyan, objc, perl, php, python, r, rainbow, ruby, scala, sh, sql, swift, visualbasic, xml, yaml
      sudo yum install -y epel-release
      sudo yum groupinstall -y "Development Tools"
      sudo yum install -y \
        autoconf-archive \
        boost-devel \
        cmake3 \
        git \
        gobject-introspection-devel \
        gtk-doc \
        jemalloc-devel \
        pkg-config \
        tar
      git clone https://github.com/apache/arrow.git
      mkdir -p arrow/cpp/build
      cd arrow/cpp/build
      LANG=C cmake3 .. -DCMAKE_BUILD_TYPE=release -DARROW_ORC=ON
      make -j4
      sudo make install
      

      Sample program:

      #include <arrow/api.h>
      
      int main(void) {
        return 0;
      }
      

      Build the sample program:

      % g++ -std=c++11 -o sample $(PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig pkg-config --cflags --libs arrow) sample.cpp
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::WireFormat::SerializeUnknownFields(google::protobuf::UnknownFieldSet const&, google::protobuf::io::CodedOutputStream*)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::Message::SpaceUsed() const'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::DescriptorPool::FindFileByName(std::string const&) const'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteDouble(int, double, google::protobuf::io::CodedOutputStream*)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::io::CodedInputStream::BytesUntilTotalBytesLimit() const'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::DescriptorPool::InternalAddGeneratedFile(void const*, int)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::StringTypeHandlerBase::New()'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::io::ZeroCopyOutputStream::~ZeroCopyOutputStream()'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::Message::CheckTypeAndMergeFrom(google::protobuf::MessageLite const&)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::MessageLite::ParseFromZeroCopyStream(google::protobuf::io::ZeroCopyInputStream*)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::io::CodedInputStream::ReadRaw(void*, int)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::MessageFactory::InternalRegisterGeneratedFile(char const*, void (*)(std::string const&))'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::io::CodedOutputStream::VarintSize32Fallback(unsigned int)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::LogMessage::LogMessage(google::protobuf::LogLevel, char const*, int)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::empty_string_'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::StringTypeHandlerBase::Delete(std::string*)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::io::CodedOutputStream::WriteVarint64(unsigned long)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::DescriptorPool::generated_pool()'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteEnum(int, int, google::protobuf::io::CodedOutputStream*)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteString(int, std::string const&, google::protobuf::io::CodedOutputStream*)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(google::protobuf::UnknownFieldSet const&, unsigned char*)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::io::CodedInputStream::ReadTagFallback()'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::OnShutdown(void (*)())'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::RepeatedPtrFieldBase::Swap(google::protobuf::internal::RepeatedPtrFieldBase*)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::MessageFactory::generated_factory()'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::UnknownFieldSet::AddVarint(int, unsigned long)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::io::CodedInputStream::Skip(int)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(google::protobuf::UnknownFieldSet const&)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::io::CodedOutputStream::VarintSize64(unsigned long)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::io::CodedInputStream::ReadVarint32Fallback(unsigned int*)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteSInt64(int, long, google::protobuf::io::CodedOutputStream*)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::WireFormatLite::ReadString(google::protobuf::io::CodedInputStream*, std::string*)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::io::CodedInputStream::BytesUntilLimit() const'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::MessageLite::SerializeToString(std::string*) const'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteFixed64(int, unsigned long, google::protobuf::io::CodedOutputStream*)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::LogMessage::~LogMessage()'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteUInt32(int, unsigned int, google::protobuf::io::CodedOutputStream*)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::LogFinisher::operator=(google::protobuf::internal::LogMessage&)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::InitEmptyString()'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteSInt32(int, int, google::protobuf::io::CodedOutputStream*)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::UnknownFieldSet::MergeFrom(google::protobuf::UnknownFieldSet const&)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::WireFormat::SkipField(google::protobuf::io::CodedInputStream*, unsigned int, google::protobuf::UnknownFieldSet*)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::RepeatedPtrFieldBase::Reserve(int)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray(std::string const&, unsigned char*)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream*)'
      /usr/local/lib64/libarrow.so: undefined reference to `typeinfo for google::protobuf::io::ZeroCopyOutputStream'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::MessageLite::ParseFromString(std::string const&)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::Message::GetTypeName() const'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::LogMessage::operator<<(char const*)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream*, std::string*)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::UnknownFieldSet::~UnknownFieldSet()'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteUInt64(int, unsigned long, google::protobuf::io::CodedOutputStream*)'
      /usr/local/lib64/libarrow.so: undefined reference to `typeinfo for google::protobuf::Message'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::ReflectionOps::Merge(google::protobuf::Message const&, google::protobuf::Message*)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::Message::~Message()'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::MessageLite::ParseFromArray(void const*, int)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::Message::DiscardUnknownFields()'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(google::protobuf::Descriptor const*, google::protobuf::Message const*)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::io::CodedOutputStream::WriteVarint32(unsigned int)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::GoogleOnceInitImpl(long*, google::protobuf::Closure*)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::UnknownFieldSet::ClearFallback()'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::io::CodedOutputStream::WriteVarint32FallbackToArray(unsigned int, unsigned char*)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::UnknownFieldSet::UnknownFieldSet()'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(int, google::protobuf::MessageLite const&, google::protobuf::io::CodedOutputStream*)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::io::CodedOutputStream::WriteVarint64ToArray(unsigned long, unsigned char*)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::io::CodedInputStream::ReadLittleEndian64Fallback(unsigned long*)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::FunctionClosure0::~FunctionClosure0()'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream*)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::Message::InitializationErrorString() const'
      /usr/local/lib64/libarrow.so: undefined reference to `typeinfo for google::protobuf::io::ZeroCopyInputStream'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::empty_string_once_init_'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::VerifyVersion(int, int, char const*)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::io::ZeroCopyInputStream::~ZeroCopyInputStream()'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::io::CodedInputStream::PushLimit(int)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::io::CodedInputStream::PopLimit(int)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::GeneratedMessageReflection::GeneratedMessageReflection(google::protobuf::Descriptor const*, google::protobuf::Message const*, int const*, int, int, int, google::protobuf::DescriptorPool const*, google::protobuf::MessageFactory*, int)'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::io::CodedInputStream::ReadVarint64Fallback(unsigned long*)'
      /usr/local/lib64/libarrow.so: undefined reference to `vtable for google::protobuf::internal::FunctionClosure0'
      /usr/local/lib64/libarrow.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteBool(int, bool, google::protobuf::io::CodedOutputStream*)'
      collect2: error: ld returned 1 exit status
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                kou Sutou Kouhei
                Reporter:
                kou Sutou Kouhei
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 40m
                  40m