[ 
https://issues.apache.org/jira/browse/ARROW-2721?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Uwe L. Korn resolved ARROW-2721.
--------------------------------
       Resolution: Fixed
    Fix Version/s: 0.10.0

Issue resolved by pull request 2146
[https://github.com/apache/arrow/pull/2146]

> [C++] Link error with Arrow C++ build with -DARROW_ORC=ON on CentOS 7
> ---------------------------------------------------------------------
>
>                 Key: ARROW-2721
>                 URL: https://issues.apache.org/jira/browse/ARROW-2721
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: C++
>            Reporter: Kouhei Sutou
>            Priority: Minor
>              Labels: pull-request-available
>             Fix For: 0.10.0
>
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Build master with -DARROW_ORC=ON:
> {code:shell}
> 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
> {code}
> Sample program:
> {code:cpp}
> #include <arrow/api.h>
> int main(void) {
>   return 0;
> }
> {code}
> Build the sample program:
> {noformat}
> % 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
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to