[ 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)