title: Apache arrow error during example code compilation
body: <p>After installing the apache arrow library on my computer, I tried running the c++ code example in the website (<a href="https://github.com/apache/arrow/blob/master/cpp/examples/arrow/row-wise-conversion-example.cc" rel="nofollow noreferrer">https://github.com/apache/arrow/blob/master/cpp/examples/arrow/row-wise-conversion-example.cc</a>) but consistently kept getting the same error. I though it was because of the compiler couldnot find the arrow directory but after putting the library in the same folder as the test, it still didnt run and kept giving the same error. </p>
  
  <pre><code> g++ test.cpp
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `VectorToColumnarTable(std::vector&lt;data_row, std::allocator&lt;data_row&gt; &gt; const&amp;, std::shared_ptr&lt;arrow::Table&gt;*)':
  test.cpp:(.text+0x5c): undefined reference to `arrow::default_memory_pool()'
  /usr/bin/ld: test.cpp:(.text+0x49b): undefined reference to `arrow::ArrayBuilder::Finish(std::shared_ptr&lt;arrow::Array&gt;*)'
  /usr/bin/ld: test.cpp:(.text+0x555): undefined reference to `arrow::ArrayBuilder::Finish(std::shared_ptr&lt;arrow::Array&gt;*)'
  /usr/bin/ld: test.cpp:(.text+0x60f): undefined reference to `arrow::ArrayBuilder::Finish(std::shared_ptr&lt;arrow::Array&gt;*)'
  /usr/bin/ld: test.cpp:(.text+0x6b6): undefined reference to `arrow::int64()'
  /usr/bin/ld: test.cpp:(.text+0x70b): undefined reference to `arrow::field(std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::shared_ptr&lt;arrow::DataType&gt; const&amp;, bool, std::shared_ptr&lt;arrow::KeyValueMetadata const&gt; const&amp;)'
  /usr/bin/ld: test.cpp:(.text+0x72e): undefined reference to `arrow::float64()'
  /usr/bin/ld: test.cpp:(.text+0x783): undefined reference to `arrow::field(std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::shared_ptr&lt;arrow::DataType&gt; const&amp;, bool, std::shared_ptr&lt;arrow::KeyValueMetadata const&gt; const&amp;)'
  /usr/bin/ld: test.cpp:(.text+0x7a6): undefined reference to `arrow::float64()'
  /usr/bin/ld: test.cpp:(.text+0x7bf): undefined reference to `arrow::list(std::shared_ptr&lt;arrow::DataType&gt; const&amp;)'
  /usr/bin/ld: test.cpp:(.text+0x814): undefined reference to `arrow::field(std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::shared_ptr&lt;arrow::DataType&gt; const&amp;, bool, std::shared_ptr&lt;arrow::KeyValueMetadata const&gt; const&amp;)'
  /usr/bin/ld: test.cpp:(.text+0xa1a): undefined reference to `arrow::Table::Make(std::shared_ptr&lt;arrow::Schema&gt; const&amp;, std::vector&lt;std::shared_ptr&lt;arrow::Array&gt;, std::allocator&lt;std::shared_ptr&lt;arrow::Array&gt; &gt; &gt; const&amp;, long)'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `ColumnarTableToVector(std::shared_ptr&lt;arrow::Table&gt; const&amp;, std::vector&lt;data_row, std::allocator&lt;data_row&gt; &gt;*)':
  test.cpp:(.text+0xef0): undefined reference to `arrow::int64()'
  /usr/bin/ld: test.cpp:(.text+0xf45): undefined reference to `arrow::field(std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::shared_ptr&lt;arrow::DataType&gt; const&amp;, bool, std::shared_ptr&lt;arrow::KeyValueMetadata const&gt; const&amp;)'
  /usr/bin/ld: test.cpp:(.text+0xf68): undefined reference to `arrow::float64()'
  /usr/bin/ld: test.cpp:(.text+0xfbd): undefined reference to `arrow::field(std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::shared_ptr&lt;arrow::DataType&gt; const&amp;, bool, std::shared_ptr&lt;arrow::KeyValueMetadata const&gt; const&amp;)'
  /usr/bin/ld: test.cpp:(.text+0xfe0): undefined reference to `arrow::float64()'
  /usr/bin/ld: test.cpp:(.text+0xff9): undefined reference to `arrow::list(std::shared_ptr&lt;arrow::DataType&gt; const&amp;)'
  /usr/bin/ld: test.cpp:(.text+0x1048): undefined reference to `arrow::field(std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::shared_ptr&lt;arrow::DataType&gt; const&amp;, bool, std::shared_ptr&lt;arrow::KeyValueMetadata const&gt; const&amp;)'
  /usr/bin/ld: test.cpp:(.text+0x11eb): undefined reference to `arrow::Schema::Equals(arrow::Schema const&amp;, bool) const'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::detail::Fingerprintable::Fingerprintable()':
  test.cpp:(.text._ZN5arrow6detail15FingerprintableC2Ev[_ZN5arrow6detail15FingerprintableC5Ev]+0xf): undefined reference to `vtable for arrow::detail::Fingerprintable'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::DataType::DataType(arrow::Type::type)':
  test.cpp:(.text._ZN5arrow8DataTypeC2ENS_4Type4typeE[_ZN5arrow8DataTypeC5ENS_4Type4typeE]+0x45): undefined reference to `vtable for arrow::DataType'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::NestedType::~NestedType()':
  test.cpp:(.text._ZN5arrow10NestedTypeD2Ev[_ZN5arrow10NestedTypeD5Ev]+0x26): undefined reference to `arrow::DataType::~DataType()'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::ListType::ListType(std::shared_ptr&lt;arrow::Field&gt; const&amp;)':
  test.cpp:(.text._ZN5arrow8ListTypeC2ERKSt10shared_ptrINS_5FieldEE[_ZN5arrow8ListTypeC5ERKSt10shared_ptrINS_5FieldEE]+0x3c): undefined reference to `vtable for arrow::ListType'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::Buffer::ZeroPadding()':
  test.cpp:(.text._ZN5arrow6Buffer11ZeroPaddingEv[_ZN5arrow6Buffer11ZeroPaddingEv]+0x18): undefined reference to `arrow::Buffer::CheckMutable() const'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::Buffer::mutable_data()':
  test.cpp:(.text._ZN5arrow6Buffer12mutable_dataEv[_ZN5arrow6Buffer12mutable_dataEv]+0x18): undefined reference to `arrow::Buffer::CheckMutable() const'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::TypeTraits&lt;arrow::Int64Type&gt;::type_singleton()':
  test.cpp:(.text._ZN5arrow10TypeTraitsINS_9Int64TypeEE14type_singletonEv[_ZN5arrow10TypeTraitsINS_9Int64TypeEE14type_singletonEv]+0x27): undefined reference to `arrow::int64()'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::TypeTraits&lt;arrow::DoubleType&gt;::type_singleton()':
  test.cpp:(.text._ZN5arrow10TypeTraitsINS_10DoubleTypeEE14type_singletonEv[_ZN5arrow10TypeTraitsINS_10DoubleTypeEE14type_singletonEv]+0x27): undefined reference to `arrow::float64()'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::BufferBuilder::Resize(long, bool)':
  test.cpp:(.text._ZN5arrow13BufferBuilder6ResizeElb[_ZN5arrow13BufferBuilder6ResizeElb]+0x76): undefined reference to `arrow::AllocateResizableBuffer(arrow::MemoryPool*, long, std::shared_ptr&lt;arrow::ResizableBuffer&gt;*)'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::BufferBuilder::Finish(std::shared_ptr&lt;arrow::Buffer&gt;*, bool)':
  test.cpp:(.text._ZN5arrow13BufferBuilder6FinishEPSt10shared_ptrINS_6BufferEEb[_ZN5arrow13BufferBuilder6FinishEPSt10shared_ptrINS_6BufferEEb]+0x121): undefined reference to `arrow::AllocateBuffer(arrow::MemoryPool*, long, std::shared_ptr&lt;arrow::Buffer&gt;*)'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::ArrayBuilder::ArrayBuilder(arrow::MemoryPool*)':
  test.cpp:(.text._ZN5arrow12ArrayBuilderC2EPNS_10MemoryPoolE[_ZN5arrow12ArrayBuilderC5EPNS_10MemoryPoolE]+0x17): undefined reference to `vtable for arrow::ArrayBuilder'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::ArrayBuilder::UnsafeAppendToBitmap(unsigned char const*, long)':
  test.cpp:(.text._ZN5arrow12ArrayBuilder20UnsafeAppendToBitmapEPKhl[_ZN5arrow12ArrayBuilder20UnsafeAppendToBitmapEPKhl]+0x2e): undefined reference to `arrow::ArrayBuilder::UnsafeSetNotNull(long)'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::ArrayBuilder::UnsafeAppendToBitmap(long, bool)':
  test.cpp:(.text._ZN5arrow12ArrayBuilder20UnsafeAppendToBitmapElb[_ZN5arrow12ArrayBuilder20UnsafeAppendToBitmapElb]+0x2e): undefined reference to `arrow::ArrayBuilder::UnsafeSetNotNull(long)'
  /usr/bin/ld: test.cpp:(.text._ZN5arrow12ArrayBuilder20UnsafeAppendToBitmapElb[_ZN5arrow12ArrayBuilder20UnsafeAppendToBitmapElb]+0x43): undefined reference to `arrow::ArrayBuilder::UnsafeSetNull(long)'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::ArrayBuilder::~ArrayBuilder()':
  test.cpp:(.text._ZN5arrow12ArrayBuilderD2Ev[_ZN5arrow12ArrayBuilderD5Ev]+0x13): undefined reference to `vtable for arrow::ArrayBuilder'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::NumericBuilder&lt;arrow::Int64Type&gt;::NumericBuilder&lt;arrow::Int64Type&gt;(std::enable_if&lt;std::integral_constant&lt;bool, arrow::TypeTraits&lt;arrow::Int64Type&gt;::is_parameter_free&gt;::value, arrow::MemoryPool*&gt;::type)':
  test.cpp:(.text._ZN5arrow14NumericBuilderINS_9Int64TypeEEC2IS1_EENSt9enable_ifIXsrSt17integral_constantIbXsrNS_10TypeTraitsIT_EE17is_parameter_freeEE5valueEPNS_10MemoryPoolEE4typeE[_ZN5arrow14NumericBuilderINS_9Int64TypeEEC5IS1_EENSt9enable_ifIXsrSt17integral_constantIbXsrNS_10TypeTraitsIT_EE17is_parameter_freeEE5valueEPNS_10MemoryPoolEE4typeE]+0x61): undefined reference to `arrow::default_memory_pool()'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::NumericBuilder&lt;arrow::DoubleType&gt;::NumericBuilder&lt;arrow::DoubleType&gt;(std::enable_if&lt;std::integral_constant&lt;bool, arrow::TypeTraits&lt;arrow::DoubleType&gt;::is_parameter_free&gt;::value, arrow::MemoryPool*&gt;::type)':
  test.cpp:(.text._ZN5arrow14NumericBuilderINS_10DoubleTypeEEC2IS1_EENSt9enable_ifIXsrSt17integral_constantIbXsrNS_10TypeTraitsIT_EE17is_parameter_freeEE5valueEPNS_10MemoryPoolEE4typeE[_ZN5arrow14NumericBuilderINS_10DoubleTypeEEC5IS1_EENSt9enable_ifIXsrSt17integral_constantIbXsrNS_10TypeTraitsIT_EE17is_parameter_freeEE5valueEPNS_10MemoryPoolEE4typeE]+0x61): undefined reference to `arrow::default_memory_pool()'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::BaseListBuilder&lt;arrow::ListType&gt;::BaseListBuilder(arrow::MemoryPool*, std::shared_ptr&lt;arrow::ArrayBuilder&gt; const&amp;)':
  test.cpp:(.text._ZN5arrow15BaseListBuilderINS_8ListTypeEEC2EPNS_10MemoryPoolERKSt10shared_ptrINS_12ArrayBuilderEE[_ZN5arrow15BaseListBuilderINS_8ListTypeEEC5EPNS_10MemoryPoolERKSt10shared_ptrINS_12ArrayBuilderEE]+0x59): undefined reference to `arrow::list(std::shared_ptr&lt;arrow::DataType&gt; const&amp;)'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::Status arrow::Status::FromArgs&lt;char const (&amp;) [33]&gt;(arrow::StatusCode, char const (&amp;) [33])':
  test.cpp:(.text._ZN5arrow6Status8FromArgsIJRA33_KcEEES0_NS_10StatusCodeEDpOT_[_ZN5arrow6Status8FromArgsIJRA33_KcEEES0_NS_10StatusCodeEDpOT_]+0x59): undefined reference to `arrow::Status::Status(arrow::StatusCode, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;)'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::Status arrow::Status::FromArgs&lt;char const (&amp;) [23]&gt;(arrow::StatusCode, char const (&amp;) [23])':
  test.cpp:(.text._ZN5arrow6Status8FromArgsIJRA23_KcEEES0_NS_10StatusCodeEDpOT_[_ZN5arrow6Status8FromArgsIJRA23_KcEEES0_NS_10StatusCodeEDpOT_]+0x59): undefined reference to `arrow::Status::Status(arrow::StatusCode, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;)'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::BaseListBuilder&lt;arrow::ListType&gt;::BaseListBuilder(arrow::MemoryPool*, std::shared_ptr&lt;arrow::ArrayBuilder&gt; const&amp;, std::shared_ptr&lt;arrow::DataType&gt; const&amp;)':
  test.cpp:(.text._ZN5arrow15BaseListBuilderINS_8ListTypeEEC2EPNS_10MemoryPoolERKSt10shared_ptrINS_12ArrayBuilderEERKS5_INS_8DataTypeEE[_ZN5arrow15BaseListBuilderINS_8ListTypeEEC5EPNS_10MemoryPoolERKSt10shared_ptrINS_12ArrayBuilderEERKS5_INS_8DataTypeEE]+0xdd): undefined reference to `arrow::Field::WithType(std::shared_ptr&lt;arrow::DataType&gt; const&amp;) const'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::Status arrow::Status::FromArgs&lt;char const (&amp;) [26]&gt;(arrow::StatusCode, char const (&amp;) [26])':
  test.cpp:(.text._ZN5arrow6Status8FromArgsIJRA26_KcEEES0_NS_10StatusCodeEDpOT_[_ZN5arrow6Status8FromArgsIJRA26_KcEEES0_NS_10StatusCodeEDpOT_]+0x59): undefined reference to `arrow::Status::Status(arrow::StatusCode, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;)'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; arrow::util::StringBuilder&lt;char const (&amp;) [33]&gt;(char const (&amp;) [33])':
  test.cpp:(.text._ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x2c): undefined reference to `arrow::util::detail::StringStreamWrapper::StringStreamWrapper()'
  /usr/bin/ld: test.cpp:(.text._ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x65): undefined reference to `arrow::util::detail::StringStreamWrapper::str[abi:cxx11]()'
  /usr/bin/ld: test.cpp:(.text._ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x72): undefined reference to `arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'
  /usr/bin/ld: test.cpp:(.text._ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x97): undefined reference to `arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; arrow::util::StringBuilder&lt;char const (&amp;) [23]&gt;(char const (&amp;) [23])':
  test.cpp:(.text._ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x2c): undefined reference to `arrow::util::detail::StringStreamWrapper::StringStreamWrapper()'
  /usr/bin/ld: test.cpp:(.text._ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x65): undefined reference to `arrow::util::detail::StringStreamWrapper::str[abi:cxx11]()'
  /usr/bin/ld: test.cpp:(.text._ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x72): undefined reference to `arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'
  /usr/bin/ld: test.cpp:(.text._ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x97): undefined reference to `arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; arrow::util::StringBuilder&lt;char const (&amp;) [26]&gt;(char const (&amp;) [26])':
  test.cpp:(.text._ZN5arrow4util13StringBuilderIJRA26_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA26_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x2c): undefined reference to `arrow::util::detail::StringStreamWrapper::StringStreamWrapper()'
  /usr/bin/ld: test.cpp:(.text._ZN5arrow4util13StringBuilderIJRA26_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA26_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x65): undefined reference to `arrow::util::detail::StringStreamWrapper::str[abi:cxx11]()'
  /usr/bin/ld: test.cpp:(.text._ZN5arrow4util13StringBuilderIJRA26_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA26_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x72): undefined reference to `arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'
  /usr/bin/ld: test.cpp:(.text._ZN5arrow4util13StringBuilderIJRA26_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA26_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x97): undefined reference to `arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::Status arrow::Status::FromArgs&lt;char const (&amp;) [37], long, char const (&amp;) [17], char const (&amp;) [7], long const&amp;&gt;(arrow::StatusCode, char const (&amp;) [37], long&amp;&amp;, char const (&amp;) [17], char const (&amp;) [7], long const&amp;)':
  test.cpp:(.text._ZN5arrow6Status8FromArgsIJRA37_KclRA17_S2_RA7_S2_RKlEEES0_NS_10StatusCodeEDpOT_[_ZN5arrow6Status8FromArgsIJRA37_KclRA17_S2_RA7_S2_RKlEEES0_NS_10StatusCodeEDpOT_]+0xbe): undefined reference to `arrow::Status::Status(arrow::StatusCode, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;)'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; arrow::util::StringBuilder&lt;char const (&amp;) [37], long, char const (&amp;) [17], char const (&amp;) [7], long const&amp;&gt;(char const (&amp;) [37], long&amp;&amp;, char const (&amp;) [17], char const (&amp;) [7], long const&amp;)':
  test.cpp:(.text._ZN5arrow4util13StringBuilderIJRA37_KclRA17_S2_RA7_S2_RKlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA37_KclRA17_S2_RA7_S2_RKlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x44): undefined reference to `arrow::util::detail::StringStreamWrapper::StringStreamWrapper()'
  /usr/bin/ld: test.cpp:(.text._ZN5arrow4util13StringBuilderIJRA37_KclRA17_S2_RA7_S2_RKlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA37_KclRA17_S2_RA7_S2_RKlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0xc5): undefined reference to `arrow::util::detail::StringStreamWrapper::str[abi:cxx11]()'
  /usr/bin/ld: test.cpp:(.text._ZN5arrow4util13StringBuilderIJRA37_KclRA17_S2_RA7_S2_RKlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA37_KclRA17_S2_RA7_S2_RKlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0xd2): undefined reference to `arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'
  /usr/bin/ld: test.cpp:(.text._ZN5arrow4util13StringBuilderIJRA37_KclRA17_S2_RA7_S2_RKlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA37_KclRA17_S2_RA7_S2_RKlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0xf7): undefined reference to `arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `void __gnu_cxx::new_allocator&lt;arrow::Schema&gt;::construct&lt;arrow::Schema, std::vector&lt;std::shared_ptr&lt;arrow::Field&gt;, std::allocator&lt;std::shared_ptr&lt;arrow::Field&gt; &gt; &gt;&amp;&gt;(arrow::Schema*, std::vector&lt;std::shared_ptr&lt;arrow::Field&gt;, std::allocator&lt;std::shared_ptr&lt;arrow::Field&gt; &gt; &gt;&amp;)':
  test.cpp:(.text._ZN9__gnu_cxx13new_allocatorIN5arrow6SchemaEE9constructIS2_JRSt6vectorISt10shared_ptrINS1_5FieldEESaIS8_EEEEEvPT_DpOT0_[_ZN9__gnu_cxx13new_allocatorIN5arrow6SchemaEE9constructIS2_JRSt6vectorISt10shared_ptrINS1_5FieldEESaIS8_EEEEEvPT_DpOT0_]+0x70): undefined reference to `arrow::Schema::Schema(std::vector&lt;std::shared_ptr&lt;arrow::Field&gt;, std::allocator&lt;std::shared_ptr&lt;arrow::Field&gt; &gt; &gt; const&amp;, std::shared_ptr&lt;arrow::KeyValueMetadata const&gt; const&amp;)'
  /usr/bin/ld: /tmp/ccvG1aV8.o:(.data.rel.ro._ZTVN5arrow12BaseListTypeE[_ZTVN5arrow12BaseListTypeE]+0x20): undefined reference to `arrow::DataType::ComputeFingerprint[abi:cxx11]() const'
  /usr/bin/ld: /tmp/ccvG1aV8.o:(.data.rel.ro._ZTVN5arrow12BaseListTypeE[_ZTVN5arrow12BaseListTypeE]+0x28): undefined reference to `arrow::DataType::ComputeMetadataFingerprint[abi:cxx11]() const'
  /usr/bin/ld: /tmp/ccvG1aV8.o:(.data.rel.ro._ZTVN5arrow10NestedTypeE[_ZTVN5arrow10NestedTypeE]+0x20): undefined reference to `arrow::DataType::ComputeFingerprint[abi:cxx11]() const'
  /usr/bin/ld: /tmp/ccvG1aV8.o:(.data.rel.ro._ZTVN5arrow10NestedTypeE[_ZTVN5arrow10NestedTypeE]+0x28): undefined reference to `arrow::DataType::ComputeMetadataFingerprint[abi:cxx11]() const'
  /usr/bin/ld: /tmp/ccvG1aV8.o:(.data.rel.ro._ZTIN5arrow14NumericBuilderINS_10DoubleTypeEEE[_ZTIN5arrow14NumericBuilderINS_10DoubleTypeEEE]+0x10): undefined reference to `typeinfo for arrow::ArrayBuilder'
  /usr/bin/ld: /tmp/ccvG1aV8.o:(.data.rel.ro._ZTIN5arrow14NumericBuilderINS_9Int64TypeEEE[_ZTIN5arrow14NumericBuilderINS_9Int64TypeEEE]+0x10): undefined reference to `typeinfo for arrow::ArrayBuilder'
  /usr/bin/ld: /tmp/ccvG1aV8.o:(.data.rel.ro._ZTIN5arrow15BaseListBuilderINS_8ListTypeEEE[_ZTIN5arrow15BaseListBuilderINS_8ListTypeEEE]+0x10): undefined reference to `typeinfo for arrow::ArrayBuilder'
  /usr/bin/ld: /tmp/ccvG1aV8.o:(.data.rel.ro._ZTIN5arrow10NestedTypeE[_ZTIN5arrow10NestedTypeE]+0x18): undefined reference to `typeinfo for arrow::DataType'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::NumericBuilder&lt;arrow::DoubleType&gt;::Resize(long)':
  test.cpp:(.text._ZN5arrow14NumericBuilderINS_10DoubleTypeEE6ResizeEl[_ZN5arrow14NumericBuilderINS_10DoubleTypeEE6ResizeEl]+0x16a): undefined reference to `arrow::ArrayBuilder::Resize(long)'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::NumericBuilder&lt;arrow::DoubleType&gt;::AppendNulls(long)':
  test.cpp:(.text._ZN5arrow14NumericBuilderINS_10DoubleTypeEE11AppendNullsEl[_ZN5arrow14NumericBuilderINS_10DoubleTypeEE11AppendNullsEl]+0xd7): undefined reference to `arrow::ArrayBuilder::UnsafeSetNull(long)'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::NumericBuilder&lt;arrow::DoubleType&gt;::FinishInternal(std::shared_ptr&lt;arrow::ArrayData&gt;*)':
  test.cpp:(.text._ZN5arrow14NumericBuilderINS_10DoubleTypeEE14FinishInternalEPSt10shared_ptrINS_9ArrayDataEE[_ZN5arrow14NumericBuilderINS_10DoubleTypeEE14FinishInternalEPSt10shared_ptrINS_9ArrayDataEE]+0x266): undefined reference to `arrow::ArrayData::Make(std::shared_ptr&lt;arrow::DataType&gt; const&amp;, long, std::vector&lt;std::shared_ptr&lt;arrow::Buffer&gt;, std::allocator&lt;std::shared_ptr&lt;arrow::Buffer&gt; &gt; &gt;&amp;&amp;, long, long)'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::NumericBuilder&lt;arrow::Int64Type&gt;::Resize(long)':
  test.cpp:(.text._ZN5arrow14NumericBuilderINS_9Int64TypeEE6ResizeEl[_ZN5arrow14NumericBuilderINS_9Int64TypeEE6ResizeEl]+0x16a): undefined reference to `arrow::ArrayBuilder::Resize(long)'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::NumericBuilder&lt;arrow::Int64Type&gt;::AppendNulls(long)':
  test.cpp:(.text._ZN5arrow14NumericBuilderINS_9Int64TypeEE11AppendNullsEl[_ZN5arrow14NumericBuilderINS_9Int64TypeEE11AppendNullsEl]+0xd8): undefined reference to `arrow::ArrayBuilder::UnsafeSetNull(long)'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::NumericBuilder&lt;arrow::Int64Type&gt;::FinishInternal(std::shared_ptr&lt;arrow::ArrayData&gt;*)':
  test.cpp:(.text._ZN5arrow14NumericBuilderINS_9Int64TypeEE14FinishInternalEPSt10shared_ptrINS_9ArrayDataEE[_ZN5arrow14NumericBuilderINS_9Int64TypeEE14FinishInternalEPSt10shared_ptrINS_9ArrayDataEE]+0x266): undefined reference to `arrow::ArrayData::Make(std::shared_ptr&lt;arrow::DataType&gt; const&amp;, long, std::vector&lt;std::shared_ptr&lt;arrow::Buffer&gt;, std::allocator&lt;std::shared_ptr&lt;arrow::Buffer&gt; &gt; &gt;&amp;&amp;, long, long)'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::BaseListBuilder&lt;arrow::ListType&gt;::Resize(long)':
  test.cpp:(.text._ZN5arrow15BaseListBuilderINS_8ListTypeEE6ResizeEl[_ZN5arrow15BaseListBuilderINS_8ListTypeEE6ResizeEl]+0x19a): undefined reference to `arrow::ArrayBuilder::Resize(long)'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::BaseListBuilder&lt;arrow::ListType&gt;::Reset()':
  test.cpp:(.text._ZN5arrow15BaseListBuilderINS_8ListTypeEE5ResetEv[_ZN5arrow15BaseListBuilderINS_8ListTypeEE5ResetEv]+0x18): undefined reference to `arrow::ArrayBuilder::Reset()'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::BaseListBuilder&lt;arrow::ListType&gt;::FinishInternal(std::shared_ptr&lt;arrow::ArrayData&gt;*)':
  test.cpp:(.text._ZN5arrow15BaseListBuilderINS_8ListTypeEE14FinishInternalEPSt10shared_ptrINS_9ArrayDataEE[_ZN5arrow15BaseListBuilderINS_8ListTypeEE14FinishInternalEPSt10shared_ptrINS_9ArrayDataEE]+0x568): undefined reference to `arrow::ArrayData::Make(std::shared_ptr&lt;arrow::DataType&gt; const&amp;, long, std::vector&lt;std::shared_ptr&lt;arrow::Buffer&gt;, std::allocator&lt;std::shared_ptr&lt;arrow::Buffer&gt; &gt; &gt; const&amp;, std::vector&lt;std::shared_ptr&lt;arrow::ArrayData&gt;, std::allocator&lt;std::shared_ptr&lt;arrow::ArrayData&gt; &gt; &gt; const&amp;, long, long)'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::BaseListBuilder&lt;arrow::ListType&gt;::type() const':
  test.cpp:(.text._ZNK5arrow15BaseListBuilderINS_8ListTypeEE4typeEv[_ZNK5arrow15BaseListBuilderINS_8ListTypeEE4typeEv]+0x70): undefined reference to `arrow::Field::WithType(std::shared_ptr&lt;arrow::DataType&gt; const&amp;) const'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `arrow::Status arrow::Status::FromArgs&lt;char const (&amp;) [47], long, char const (&amp;) [6], long&amp;&gt;(arrow::StatusCode, char const (&amp;) [47], long&amp;&amp;, char const (&amp;) [6], long&amp;)':
  test.cpp:(.text._ZN5arrow6Status8FromArgsIJRA47_KclRA6_S2_RlEEES0_NS_10StatusCodeEDpOT_[_ZN5arrow6Status8FromArgsIJRA47_KclRA6_S2_RlEEES0_NS_10StatusCodeEDpOT_]+0x9c): undefined reference to `arrow::Status::Status(arrow::StatusCode, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;)'
  /usr/bin/ld: /tmp/ccvG1aV8.o: in function `std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; arrow::util::StringBuilder&lt;char const (&amp;) [47], long, char const (&amp;) [6], long&amp;&gt;(char const (&amp;) [47], long&amp;&amp;, char const (&amp;) [6], long&amp;)':
  test.cpp:(.text._ZN5arrow4util13StringBuilderIJRA47_KclRA6_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA47_KclRA6_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x3e): undefined reference to `arrow::util::detail::StringStreamWrapper::StringStreamWrapper()'
  /usr/bin/ld: test.cpp:(.text._ZN5arrow4util13StringBuilderIJRA47_KclRA6_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA47_KclRA6_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0xad): undefined reference to `arrow::util::detail::StringStreamWrapper::str[abi:cxx11]()'
  /usr/bin/ld: test.cpp:(.text._ZN5arrow4util13StringBuilderIJRA47_KclRA6_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA47_KclRA6_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0xba): undefined reference to `arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'
  /usr/bin/ld: test.cpp:(.text._ZN5arrow4util13StringBuilderIJRA47_KclRA6_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA47_KclRA6_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0xdf): undefined reference to `arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'
  collect2: error: ld returned 1 exit status
  </code></pre>