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

Kouhei Sutou updated ARROW-7707:
--------------------------------
    Description: 
Hi there I built the library from source and now trying to write parquet files. 
Mainly using the example code, but I am getting link errors I cannot seem to be 
able to fix.

This is how I build the library:

{noformat}
-> % cmake .. -DARROW_PARQUET:BOOL=ON -DPARQUET_BUILD_EXAMPLES:BOOL=ON 
-- Building using CMake version: 3.16.2-- The C compiler identification is GNU 
5.4.0
-- The CXX compiler identification is GNU 5.4.0-- Check for working C compiler: 
/usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works-- Detecting C compiler 
ABI info
-- Detecting C compiler ABI info - done-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++-- Check for working CXX 
compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features-- Detecting CXX compile features - done
-- Arrow version: 0.15.1 (full: '0.15.1')-- Arrow SO version: 15 (full: 15.1.0)
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") -- clang-tidy 
not found
-- clang-format not found-- infer not found
-- Found PythonInterp: /home/hosanez/env/bin/python (found version "2.7.12") 
-- Found cpplint executable at 
/home/hosanez/scratch/apache-arrow-0.15.1/cpp/build-support/cpplint.py
-- Compiler command: env LANG=C /usr/bin/c++ -v
-- Compiler version: Using built-in specs.
COLLECT_GCC=/usr/bin/c++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 
5.4.0-6ubuntu1~16.04.12' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs 
--enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr 
--program-suffix=-5 --enable-shared --enable-linker-build-id 
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix 
--libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu 
--enable-libstdcxx-debug --enable-libstdcxx-time=yes 
--with-default-libstdcxx-abi=new --enable-gnu-unique-object 
--disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib 
--disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo 
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home 
--with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 
--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 
--with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar 
--enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 
--with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib 
--with-tune=generic --enable-checking=release --build=x86_64-linux-gnu 
--host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12) 
-- Compiler id: GNU
Selected compiler gcc 5.4.0-- Performing Test CXX_SUPPORTS_SSE4_2
-- Performing Test CXX_SUPPORTS_SSE4_2 - Success-- Performing Test 
CXX_SUPPORTS_ALTIVEC
-- Performing Test CXX_SUPPORTS_ALTIVEC - Failed-- Performing Test 
CXX_SUPPORTS_ARMCRC
-- Performing Test CXX_SUPPORTS_ARMCRC - Failed-- Performing Test 
CXX_SUPPORTS_ARMV8_CRC_CRYPTO
-- Performing Test CXX_SUPPORTS_ARMV8_CRC_CRYPTO - Failed-- Arrow build warning 
level: PRODUCTION
Using ld linkerConfigured for RELEASE build (set with cmake 
-DCMAKE_BUILD_TYPE=\{release,debug,...})
-- Build Type: RELEASE
-- Using AUTO approach to find dependencies
-- AWSSDK_VERSION: 1.7.160
-- BOOST_VERSION: 1.67.0
-- BROTLI_VERSION: v1.0.7
-- BZIP2_VERSION: 1.0.8
-- CARES_VERSION: 1.15.0
-- DOUBLE_CONVERSION_VERSION: v3.1.5
-- FLATBUFFERS_VERSION: v1.11.0
-- GBENCHMARK_VERSION: v1.5.0
-- GFLAGS_VERSION: v2.2.0
-- GLOG_VERSION: v0.3.5
-- GRPC_VERSION: v1.20.0
-- GTEST_VERSION: 1.8.1
-- JEMALLOC_VERSION: 5.2.1
-- LZ4_VERSION: v1.8.3
-- MIMALLOC_VERSION: 270e765454f98e8bab9d42609b153425f749fff6
-- ORC_VERSION: 1.5.5
-- PROTOBUF_VERSION: v3.7.1
-- RAPIDJSON_VERSION: 2bbd33b33217ff4a73434ebf10cdac41e2ef5e34
-- RE2_VERSION: 2019-08-01
-- SNAPPY_VERSION: 1.1.7
-- THRIFT_VERSION: 0.12.0
-- THRIFT_MD5_CHECKSUM: 3deebbb4d1ca77dd9c9e009a1ea02183
-- URIPARSER_VERSION: 0.9.3
-- ZLIB_VERSION: 1.2.11
-- ZSTD_VERSION: v1.4.3
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE 
-- Found Boost: /usr/local/include (found suitable version "1.60.0", minimum 
required is "1.58") found components: regex system filesystem 
-- Boost include dir: /usr/local/include
-- Boost libraries: 
/usr/lib/x86_64-linux-gnu/libboost_regex.so/usr/lib/x86_64-linux-gnu/libboost_system.so/usr/lib/x86_64-linux-gnu/libboost_filesystem.so
-- Found DoubleConversion: /usr/lib/x86_64-linux-gnu/libdouble-conversion.so 
-- Performing Test DOUBLE_CONVERSION_HAS_CASE_INSENSIBILITY
-- Performing Test DOUBLE_CONVERSION_HAS_CASE_INSENSIBILITY - Failed
-- Checking for modules 'libbrotlicommon;libbrotlienc;libbrotlidec'
-- No package 'libbrotlicommon' found
-- No package 'libbrotlienc' found
-- No package 'libbrotlidec' found
-- Could NOT find Brotli (missing: BROTLI_COMMON_LIBRARY BROTLI_ENC_LIBRARY 
BROTLI_DEC_LIBRARY BROTLI_INCLUDE_DIR) 
-- Building brotli from source
-- Building with OpenSSL (Version: 1.0.2g) support
-- Checking for module 'libglog'
-- No package 'libglog' found
-- Could NOT find GLOG (missing: GLOG_INCLUDE_DIR GLOG_LIB) 
-- Building glog from source
-- Found gflagsAlt: /usr/lib/x86_64-linux-gnu/libgflags.so 
-- Checking for module 'thrift'
-- No package 'thrift' found
-- Could NOT find Thrift (missing: THRIFT_STATIC_LIB THRIFT_INCLUDE_DIR 
THRIFT_COMPILER) 
Building Apache Thrift from source
Downloading Apache Thrift from 
http://apache-mirror.8birdsvideo.com//thrift/0.12.0/thrift-0.12.0.tar.gz
-- Building (vendored) jemalloc from source
-- Could NOT find RapidJSONAlt (missing: RAPIDJSON_INCLUDE_DIR) (found suitable 
version "2bbd33b33217ff4a73434ebf10cdac41e2ef5e34", minimum required is "1.1.0")
-- Building rapidjson from source
-- Could NOT find FlatbuffersAlt (missing: FLATBUFFERS_LIB 
FLATBUFFERS_INCLUDE_DIR FLATC) 
-- Building flatbuffers from source
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.8") 
-- Checking for module 'liblz4'
-- No package 'liblz4' found
-- Could NOT find Lz4 (missing: LZ4_LIB LZ4_INCLUDE_DIR) 
-- Building lz4 from source
-- Checking for module 'libzstd'
-- No package 'libzstd' found
-- Could NOT find ZSTD (missing: ZSTD_LIB ZSTD_INCLUDE_DIR) 
-- Building zstd from source
-- Found hdfs.h at: 
/home/hosanez/scratch/apache-arrow-0.15.1/cpp/thirdparty/hadoop/include/hdfs.h
-- CMAKE_C_FLAGS: -O3 -DNDEBUG -Wall -Wno-attributes -msse4.2
-- CMAKE_CXX_FLAGS: -fdiagnostics-color=always -O3 -DNDEBUG -Wall 
-Wno-attributes -msse4.2 
-- flatc: 
/home/hosanez/scratch/apache-arrow-0.15.1/cpp/release/flatbuffers_ep-prefix/src/flatbuffers_ep-install/bin/flatc
-- Looking for backtrace
-- Looking for backtrace - found
-- backtrace facility detected in default set of libraries
-- Found Backtrace: /usr/include 
-- ---------------------------------------------------------------------
-- Arrow version: 0.15.1
-- 
-- Build configuration summary:
-- Generator: Unix Makefiles
-- Build type: RELEASE
-- Source directory: /home/hosanez/scratch/apache-arrow-0.15.1/cpp
-- Install prefix: /usr/local
-- 
-- Compile and link options:
-- Compiler flags to append when compiling Arrow "" [default] [ARROW_CXXFLAGS]
-- Build static libraries ON [default] [ARROW_BUILD_STATIC]
-- Build shared libraries ON [default] [ARROW_BUILD_SHARED]
-- Exclude deprecated APIs from build OFF [default] [ARROW_NO_DEPRECATED_API]
-- Use ccache when compiling (if available) ON [default] [ARROW_USE_CCACHE]
-- Use ld.gold for linking on Linux (if available) OFF [default] 
[ARROW_USE_LD_GOLD]
-- Build with SIMD optimizations ON [default] [ARROW_USE_SIMD]
-- Build with SSE4.2 if compiler has support ON [default] [ARROW_SSE42]
-- Build with Altivec if compiler has support ON [default] [ARROW_ALTIVEC]
-- Build Arrow libraries with RATH set to $ORIGIN OFF [default] 
[ARROW_RPATH_ORIGIN]
-- Build Arrow libraries with install_name set to @rpath ON [default] 
[ARROW_INSTALL_NAME_RPATH]
-- Pass -ggdb flag to debug builds ON [default] [ARROW_GGDB_DEBUG]
-- 
-- Test and benchmark options:
-- Build the Arrow examples OFF [default] [ARROW_BUILD_EXAMPLES]
-- Build the Arrow googletest unit tests OFF [default] [ARROW_BUILD_TESTS]
-- Build the Arrow integration test executables OFF [default] 
[ARROW_BUILD_INTEGRATION]
-- Build the Arrow micro benchmarks OFF [default] [ARROW_BUILD_BENCHMARKS]
-- Build the Arrow micro reference benchmarks OFF [default] 
[ARROW_BUILD_BENCHMARKS_REFERENCE]
-- Linkage of Arrow libraries with unit tests executables. "shared" [default] 
[ARROW_TEST_LINKAGE] [shared|static]
-- Build Arrow Fuzzing executables OFF [default] [ARROW_FUZZING]
-- Enable unit tests which use large memory OFF [default] 
[ARROW_LARGE_MEMORY_TESTS]
-- 
-- Lint options:
-- Only define the lint and check-format targets OFF [default] [ARROW_ONLY_LINT]
-- If off, 'quiet' flags will be passed to linting tools OFF [default] 
[ARROW_VERBOSE_LINT]
-- Build with C++ code coverage enabled OFF [default] [ARROW_GENERATE_COVERAGE]
-- 
-- Checks options:
-- Run the test suite using valgrind --tool=memcheck OFF [default] 
[ARROW_TEST_MEMCHECK]
-- Enable Address Sanitizer checks OFF [default] [ARROW_USE_ASAN]
-- Enable Thread Sanitizer checks OFF [default] [ARROW_USE_TSAN]
-- Enable Undefined Behavior sanitizer checks OFF [default] [ARROW_USE_UBSAN]
-- 
-- Project component options:
-- Build Arrow commandline utilities ON [default] [ARROW_BUILD_UTILITIES]
-- Build the Arrow Compute Modules ON [default] [ARROW_COMPUTE]
-- Build the Arrow CUDA extensions (requires CUDA toolkit) OFF [default] 
[ARROW_CUDA]
-- Build the Arrow Dataset Modules ON [default] [ARROW_DATASET]
-- Build the Arrow Filesystem Layer ON [default] [ARROW_FILESYSTEM]
-- Build the Arrow Flight RPC System (requires GRPC, Protocol Buffers) OFF 
[default] [ARROW_FLIGHT]
-- Build the Gandiva libraries OFF [default] [ARROW_GANDIVA]
-- Build the Arrow HDFS bridge ON [default] [ARROW_HDFS]
-- Build the HiveServer2 client and Arrow adapter OFF [default] 
[ARROW_HIVESERVER2]
-- Build the Arrow IPC extensions ON [default] [ARROW_IPC]
-- Build the Arrow jemalloc-based allocator ON [default] [ARROW_JEMALLOC]
-- Build the Arrow JNI lib OFF [default] [ARROW_JNI]
-- Build Arrow with JSON support (requires RapidJSON) ON [default] [ARROW_JSON]
-- Build the Arrow mimalloc-based allocator OFF [default] [ARROW_MIMALLOC]
-- Build the Parquet libraries ON [ARROW_PARQUET]
-- Build the Arrow ORC adapter OFF [default] [ARROW_ORC]
-- Build the plasma object store along with Arrow OFF [default] [ARROW_PLASMA]
-- Build the plasma object store java client OFF [default] 
[ARROW_PLASMA_JAVA_CLIENT]
-- Build the Arrow CPython extensions OFF [default] [ARROW_PYTHON]
-- Build Arrow with S3 support (requires the AWS SDK for C++) OFF [default] 
[ARROW_S3]
-- Build Arrow with TensorFlow support enabled OFF [default] [ARROW_TENSORFLOW]
-- 
-- Thirdparty toolchain options:
-- Method to use for acquiring arrow's build dependencies "AUTO" [default] 
[ARROW_DEPENDENCY_SOURCE] [AUTO|BUNDLED|SYSTEM|CONDA|BREW]
-- Show output from ExternalProjects rather than just logging to files OFF 
[default] [ARROW_VERBOSE_THIRDPARTY_BUILD]
-- Rely on boost shared libraries where relevant ON [default] 
[ARROW_BOOST_USE_SHARED]
-- Use vendored Boost instead of existing Boost. Note that this requires 
linking Boost statically. Deprecated. Use BOOST_SOURCE=BUNDLED instead. 
 OFF [default] [ARROW_BOOST_VENDORED]
-- Rely on Protocol Buffers shared libraries where relevant ON [default] 
[ARROW_PROTOBUF_USE_SHARED]
-- Rely on GFlags shared libraries where relevant ON [default] 
[ARROW_GFLAGS_USE_SHARED]
-- Build with backtrace support ON [default] [ARROW_WITH_BACKTRACE]
-- Build libraries with glog support for pluggable logging ON [default] 
[ARROW_USE_GLOG]
-- Build with Brotli compression ON [default] [ARROW_WITH_BROTLI]
-- Build with BZ2 compression OFF [default] [ARROW_WITH_BZ2]
-- Build with lz4 compression ON [default] [ARROW_WITH_LZ4]
-- Build with Snappy compression ON [default] [ARROW_WITH_SNAPPY]
-- Build with zlib compression ON [default] [ARROW_WITH_ZLIB]
-- Build with zstd compression ON [default] [ARROW_WITH_ZSTD]
-- 
-- Parquet options:
-- Depend only on Thirdparty headers to build libparquet. Always OFF if 
building binaries 
 OFF [default] [PARQUET_MINIMAL_DEPENDENCY]
-- Build the Parquet executable CLI tools. Requires static libraries to be 
built. 
 OFF [default] [PARQUET_BUILD_EXECUTABLES]
-- Build the Parquet examples. Requires static libraries to be built. ON 
[PARQUET_BUILD_EXAMPLES]
-- Build support for encryption. Fail if OpenSSL is not found OFF [default] 
[PARQUET_REQUIRE_ENCRYPTION]
-- 
-- Gandiva options:
-- Build the Gandiva JNI wrappers OFF [default] [ARROW_GANDIVA_JAVA]
-- Include -static-libstdc++ -static-libgcc when linking with Gandiva static 
libraries 
 OFF [default] [ARROW_GANDIVA_STATIC_LIBSTDCPP]
-- Compiler flags to append when pre-compiling Gandiva operations "" [default] 
[ARROW_GANDIVA_PC_CXX_FLAGS]
-- 
-- Advanced developer options:
-- Compile with extra error context (line numbers, code) OFF [default] 
[ARROW_EXTRA_ERROR_CONTEXT]
-- If enabled install ONLY targets that have already been built. Please be 
advised that if this is enabled 'install' will fail silently on components that 
have not been built 
 OFF [default] [ARROW_OPTIONAL_INSTALL]
-- Outputting build configuration summary to 
/home/hosanez/scratch/apache-arrow-0.15.1/cpp/release/cmake_summary.json
-- Configuring done
-- Generating done
-- Build files have been written to: 
/home/hosanez/scratch/apache-arrow-0.15.1/cpp/release

 

 

*Here is the code I am trying to build:*


{noformat}
#include <arrow/table.h> 
#include <arrow/type_traits.h> 
#include <arrow/array/builder_binary.h> 
#include <arrow/array/builder_primitive.h> 
#include <parquet/exception.h> 

std::shared_ptr<arrow::Table> generate_table() { 
arrow::Int64Builder i64builder; 
PARQUET_THROW_NOT_OK(i64builder.AppendValues(\{1, 2, 3, 4, 5})); 
std::shared_ptr<arrow::Array> i64array; 
PARQUET_THROW_NOT_OK(i64builder.Finish(&i64array)); 

arrow::StringBuilder strbuilder; 
PARQUET_THROW_NOT_OK(strbuilder.Append("some")); 
PARQUET_THROW_NOT_OK(strbuilder.Append("string")); 
PARQUET_THROW_NOT_OK(strbuilder.Append("content")); 
PARQUET_THROW_NOT_OK(strbuilder.Append("in")); 
PARQUET_THROW_NOT_OK(strbuilder.Append("rows")); 
std::shared_ptr<arrow::Array> strarray; 
PARQUET_THROW_NOT_OK(strbuilder.Finish(&strarray)); 

std::shared_ptr<arrow::Schema> schema = arrow::schema( 
  {arrow::field("int", arrow::int64()), arrow::field("str", arrow::utf8())}); 

  return arrow::Table::Make(schema, {i64array, strarray}); 
} 

int main(int argc, char** argv){ 
  std::shared_ptr<arrow::Table> table = generate_table(); 
}
{noformat}

*Here is the build command and output. Please note that I have installed it to 
a custom location and don't have any other conflicting installations.*

{noformat}
$ g++ -std=gnu++11 -I /home/hosanez/lib/include -L 
/home/hosanez/lib/lib/libarrow.so -L -larrow main.cpp
/tmp/ccWYIDP3.o: In function `generate_table()':
main.cpp:(.text+0x1cd): undefined reference to `arrow::default_memory_pool()'
main.cpp:(.text+0x2cd): undefined reference to 
`arrow::Status::ToString[abi:cxx11]() const'
main.cpp:(.text+0x3a7): undefined reference to 
`arrow::ArrayBuilder::Finish(std::shared_ptr<arrow::Array>*)'
main.cpp:(.text+0x3fc): undefined reference to 
`arrow::Status::ToString[abi:cxx11]() const'
main.cpp:(.text+0x53f): undefined reference to 
`arrow::Status::ToString[abi:cxx11]() const'
main.cpp:(.text+0x673): undefined reference to 
`arrow::Status::ToString[abi:cxx11]() const'
main.cpp:(.text+0x7a7): undefined reference to 
`arrow::Status::ToString[abi:cxx11]() const'
main.cpp:(.text+0x8db): undefined reference to 
`arrow::Status::ToString[abi:cxx11]() const'
/tmp/ccWYIDP3.o:main.cpp:(.text+0xa0f): more undefined references to 
`arrow::Status::ToString[abi:cxx11]() const' follow
/tmp/ccWYIDP3.o: In function `generate_table()':
main.cpp:(.text+0xae9): undefined reference to 
`arrow::ArrayBuilder::Finish(std::shared_ptr<arrow::Array>*)'
main.cpp:(.text+0xb3e): undefined reference to 
`arrow::Status::ToString[abi:cxx11]() const'
main.cpp:(.text+0xc19): undefined reference to `arrow::int64()'
main.cpp:(.text+0xc6f): undefined reference to 
`arrow::field(std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const&, std::shared_ptr<arrow::DataType> const&, bool, 
std::shared_ptr<arrow::KeyValueMetadata const> const&)'
main.cpp:(.text+0xc92): undefined reference to `arrow::utf8()'
main.cpp:(.text+0xce8): undefined reference to 
`arrow::field(std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const&, std::shared_ptr<arrow::DataType> const&, bool, 
std::shared_ptr<arrow::KeyValueMetadata const> const&)'
main.cpp:(.text+0xd52): undefined reference to 
`arrow::schema(std::vector<std::shared_ptr<arrow::Field>, 
std::allocator<std::shared_ptr<arrow::Field> > >&&, 
std::shared_ptr<arrow::KeyValueMetadata const> const&)'
main.cpp:(.text+0xec0): undefined reference to 
`arrow::Table::Make(std::shared_ptr<arrow::Schema> const&, 
std::vector<std::shared_ptr<arrow::Array>, 
std::allocator<std::shared_ptr<arrow::Array> > > const&, long)'
/tmp/ccWYIDP3.o: In function `arrow::Buffer::ZeroPadding()':
main.cpp:(.text._ZN5arrow6Buffer11ZeroPaddingEv[_ZN5arrow6Buffer11ZeroPaddingEv]+0x14):
 undefined reference to `arrow::Buffer::CheckMutable() const'
/tmp/ccWYIDP3.o: In function `arrow::Buffer::mutable_data()':
main.cpp:(.text._ZN5arrow6Buffer12mutable_dataEv[_ZN5arrow6Buffer12mutable_dataEv]+0x14):
 undefined reference to `arrow::Buffer::CheckMutable() const'
/tmp/ccWYIDP3.o: In function 
`arrow::TypeTraits<arrow::Int64Type>::type_singleton()':
main.cpp:(.text._ZN5arrow10TypeTraitsINS_9Int64TypeEE14type_singletonEv[_ZN5arrow10TypeTraitsINS_9Int64TypeEE14type_singletonEv]+0x23):
 undefined reference to `arrow::int64()'
/tmp/ccWYIDP3.o: In function `arrow::BufferBuilder::Resize(long, bool)':
main.cpp:(.text._ZN5arrow13BufferBuilder6ResizeElb[_ZN5arrow13BufferBuilder6ResizeElb]+0x6e):
 undefined reference to `arrow::AllocateResizableBuffer(arrow::MemoryPool*, 
long, std::shared_ptr<arrow::ResizableBuffer>*)'
/tmp/ccWYIDP3.o: In function 
`arrow::BufferBuilder::Finish(std::shared_ptr<arrow::Buffer>*, bool)':
main.cpp:(.text._ZN5arrow13BufferBuilder6FinishEPSt10shared_ptrINS_6BufferEEb[_ZN5arrow13BufferBuilder6FinishEPSt10shared_ptrINS_6BufferEEb]+0xfb):
 undefined reference to `arrow::AllocateBuffer(arrow::MemoryPool*, long, 
std::shared_ptr<arrow::Buffer>*)'
/tmp/ccWYIDP3.o: In function 
`arrow::ArrayBuilder::ArrayBuilder(arrow::MemoryPool*)':
main.cpp:(.text._ZN5arrow12ArrayBuilderC2EPNS_10MemoryPoolE[_ZN5arrow12ArrayBuilderC5EPNS_10MemoryPoolE]+0x11):
 undefined reference to `vtable for arrow::ArrayBuilder'
/tmp/ccWYIDP3.o: In function 
`arrow::ArrayBuilder::UnsafeAppendToBitmap(unsigned char const*, long)':
main.cpp:(.text._ZN5arrow12ArrayBuilder20UnsafeAppendToBitmapEPKhl[_ZN5arrow12ArrayBuilder20UnsafeAppendToBitmapEPKhl]+0x2a):
 undefined reference to `arrow::ArrayBuilder::UnsafeSetNotNull(long)'
/tmp/ccWYIDP3.o: In function `arrow::ArrayBuilder::UnsafeAppendToBitmap(long, 
bool)':
main.cpp:(.text._ZN5arrow12ArrayBuilder20UnsafeAppendToBitmapElb[_ZN5arrow12ArrayBuilder20UnsafeAppendToBitmapElb]+0x2a):
 undefined reference to `arrow::ArrayBuilder::UnsafeSetNotNull(long)'
main.cpp:(.text._ZN5arrow12ArrayBuilder20UnsafeAppendToBitmapElb[_ZN5arrow12ArrayBuilder20UnsafeAppendToBitmapElb]+0x3f):
 undefined reference to `arrow::ArrayBuilder::UnsafeSetNull(long)'
/tmp/ccWYIDP3.o: In function `arrow::BinaryBuilder::type() const':
main.cpp:(.text._ZNK5arrow13BinaryBuilder4typeEv[_ZNK5arrow13BinaryBuilder4typeEv]+0x27):
 undefined reference to `arrow::binary()'
/tmp/ccWYIDP3.o: In function `arrow::StringBuilder::type() const':
main.cpp:(.text._ZNK5arrow13StringBuilder4typeEv[_ZNK5arrow13StringBuilder4typeEv]+0x27):
 undefined reference to `arrow::utf8()'
/tmp/ccWYIDP3.o: In function `arrow::ArrayBuilder::~ArrayBuilder()':
main.cpp:(.text._ZN5arrow12ArrayBuilderD2Ev[_ZN5arrow12ArrayBuilderD5Ev]+0xd): 
undefined reference to `vtable for arrow::ArrayBuilder'
/tmp/ccWYIDP3.o: In function `arrow::BinaryBuilder::BinaryBuilder()':
main.cpp:(.text._ZN5arrow13BinaryBuilderC2Ev[_ZN5arrow13BinaryBuilderC5Ev]+0xd):
 undefined reference to `arrow::default_memory_pool()'
/tmp/ccWYIDP3.o: In function `arrow::Status arrow::Status::Invalid<char const 
(&) [33]>(char const (&) [33])':
main.cpp:(.text._ZN5arrow6Status7InvalidIJRA33_KcEEES0_DpOT_[_ZN5arrow6Status7InvalidIJRA33_KcEEES0_DpOT_]+0x4f):
 undefined reference to `arrow::Status::Status(arrow::StatusCode, 
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > 
const&)'
/tmp/ccWYIDP3.o: In function `arrow::Status arrow::Status::Invalid<char const 
(&) [23]>(char const (&) [23])':
main.cpp:(.text._ZN5arrow6Status7InvalidIJRA23_KcEEES0_DpOT_[_ZN5arrow6Status7InvalidIJRA23_KcEEES0_DpOT_]+0x4f):
 undefined reference to `arrow::Status::Status(arrow::StatusCode, 
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > 
const&)'
/tmp/ccWYIDP3.o: In function 
`arrow::NumericBuilder<arrow::Int64Type>::NumericBuilder<arrow::Int64Type>(std::enable_if<arrow::TypeTraits<arrow::Int64Type>::is_parameter_free,
 arrow::MemoryPool*>::type)':
main.cpp:(.text._ZN5arrow14NumericBuilderINS_9Int64TypeEEC2IS1_EENSt9enable_ifIXsrNS_10TypeTraitsIT_EE17is_parameter_freeEPNS_10MemoryPoolEE4typeE[_ZN5arrow14NumericBuilderINS_9Int64TypeEEC5IS1_EENSt9enable_ifIXsrNS_10TypeTraitsIT_EE17is_parameter_freeEPNS_10MemoryPoolEE4typeE]+0x50):
 undefined reference to `arrow::default_memory_pool()'
/tmp/ccWYIDP3.o: In function `std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > arrow::util::StringBuilder<char 
const (&) [33]>(char const (&) [33])':
main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x28):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::StringStreamWrapper()'
main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x61):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::str[abi:cxx11]()'
main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x6e):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'
main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x93):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'
/tmp/ccWYIDP3.o: In function `std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > arrow::util::StringBuilder<char 
const (&) [23]>(char const (&) [23])':
main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x28):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::StringStreamWrapper()'
main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x61):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::str[abi:cxx11]()'
main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x6e):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'
main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x93):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'
/tmp/ccWYIDP3.o: In function `arrow::Status arrow::Status::CapacityError<char 
const (&) [32], long, char const (&) [14], long&>(char const (&) [32], long&&, 
char const (&) [14], long&)':
main.cpp:(.text._ZN5arrow6Status13CapacityErrorIJRA32_KclRA14_S2_RlEEES0_DpOT_[_ZN5arrow6Status13CapacityErrorIJRA32_KclRA14_S2_RlEEES0_DpOT_]+0x92):
 undefined reference to `arrow::Status::Status(arrow::StatusCode, 
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > 
const&)'
/tmp/ccWYIDP3.o: In function `std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > arrow::util::StringBuilder<char 
const (&) [32], long, char const (&) [14], long&>(char const (&) [32], long&&, 
char const (&) [14], long&)':
main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA32_KclRA14_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA32_KclRA14_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x3a):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::StringStreamWrapper()'
main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA32_KclRA14_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA32_KclRA14_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0xa9):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::str[abi:cxx11]()'
main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA32_KclRA14_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA32_KclRA14_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0xb6):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'
main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA32_KclRA14_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA32_KclRA14_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0xdb):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'
/tmp/ccWYIDP3.o:(.rodata._ZTIN5arrow14NumericBuilderINS_9Int64TypeEEE[_ZTIN5arrow14NumericBuilderINS_9Int64TypeEEE]+0x10):
 undefined reference to `typeinfo for arrow::ArrayBuilder'
/tmp/ccWYIDP3.o:(.rodata._ZTIN5arrow17BaseBinaryBuilderINS_10BinaryTypeEEE[_ZTIN5arrow17BaseBinaryBuilderINS_10BinaryTypeEEE]+0x10):
 undefined reference to `typeinfo for arrow::ArrayBuilder'
/tmp/ccWYIDP3.o: In function 
`arrow::NumericBuilder<arrow::Int64Type>::Resize(long)':
main.cpp:(.text._ZN5arrow14NumericBuilderINS_9Int64TypeEE6ResizeEl[_ZN5arrow14NumericBuilderINS_9Int64TypeEE6ResizeEl]+0x128):
 undefined reference to `arrow::ArrayBuilder::Resize(long)'
/tmp/ccWYIDP3.o: In function 
`arrow::NumericBuilder<arrow::Int64Type>::AppendNulls(long)':
main.cpp:(.text._ZN5arrow14NumericBuilderINS_9Int64TypeEE11AppendNullsEl[_ZN5arrow14NumericBuilderINS_9Int64TypeEE11AppendNullsEl]+0xb6):
 undefined reference to `arrow::ArrayBuilder::UnsafeSetNull(long)'
/tmp/ccWYIDP3.o: In function 
`arrow::NumericBuilder<arrow::Int64Type>::FinishInternal(std::shared_ptr<arrow::ArrayData>*)':
main.cpp:(.text._ZN5arrow14NumericBuilderINS_9Int64TypeEE14FinishInternalEPSt10shared_ptrINS_9ArrayDataEE[_ZN5arrow14NumericBuilderINS_9Int64TypeEE14FinishInternalEPSt10shared_ptrINS_9ArrayDataEE]+0x226):
 undefined reference to 
`arrow::ArrayData::Make(std::shared_ptr<arrow::DataType> const&, long, 
std::vector<std::shared_ptr<arrow::Buffer>, 
std::allocator<std::shared_ptr<arrow::Buffer> > >&&, long, long)'
/tmp/ccWYIDP3.o: In function 
`arrow::BaseBinaryBuilder<arrow::BinaryType>::Resize(long)':
main.cpp:(.text._ZN5arrow17BaseBinaryBuilderINS_10BinaryTypeEE6ResizeEl[_ZN5arrow17BaseBinaryBuilderINS_10BinaryTypeEE6ResizeEl]+0x159):
 undefined reference to `arrow::ArrayBuilder::Resize(long)'
/tmp/ccWYIDP3.o: In function 
`arrow::BaseBinaryBuilder<arrow::BinaryType>::Reset()':
main.cpp:(.text._ZN5arrow17BaseBinaryBuilderINS_10BinaryTypeEE5ResetEv[_ZN5arrow17BaseBinaryBuilderINS_10BinaryTypeEE5ResetEv]+0x14):
 undefined reference to `arrow::ArrayBuilder::Reset()'
/tmp/ccWYIDP3.o: In function 
`arrow::BaseBinaryBuilder<arrow::BinaryType>::FinishInternal(std::shared_ptr<arrow::ArrayData>*)':
main.cpp:(.text._ZN5arrow17BaseBinaryBuilderINS_10BinaryTypeEE14FinishInternalEPSt10shared_ptrINS_9ArrayDataEE[_ZN5arrow17BaseBinaryBuilderINS_10BinaryTypeEE14FinishInternalEPSt10shared_ptrINS_9ArrayDataEE]+0x33d):
 undefined reference to 
`arrow::ArrayData::Make(std::shared_ptr<arrow::DataType> const&, long, 
std::vector<std::shared_ptr<arrow::Buffer>, 
std::allocator<std::shared_ptr<arrow::Buffer> > >&&, long, long)'
/tmp/ccWYIDP3.o: In function `arrow::Status arrow::Status::CapacityError<char 
const (&) [50], long, char const (&) [22], long&>(char const (&) [50], long&&, 
char const (&) [22], long&)':
main.cpp:(.text._ZN5arrow6Status13CapacityErrorIJRA50_KclRA22_S2_RlEEES0_DpOT_[_ZN5arrow6Status13CapacityErrorIJRA50_KclRA22_S2_RlEEES0_DpOT_]+0x92):
 undefined reference to `arrow::Status::Status(arrow::StatusCode, 
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > 
const&)'
/tmp/ccWYIDP3.o: In function `std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > arrow::util::StringBuilder<char 
const (&) [50], long, char const (&) [22], long&>(char const (&) [50], long&&, 
char const (&) [22], long&)':
main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA50_KclRA22_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA50_KclRA22_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x3a):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::StringStreamWrapper()'
main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA50_KclRA22_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA50_KclRA22_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0xa9):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::str[abi:cxx11]()'
main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA50_KclRA22_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA50_KclRA22_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0xb6):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'
main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA50_KclRA22_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA50_KclRA22_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0xdb):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'
collect2: error: ld returned 1 exit status
{noformat}


  was:
Hi there I built the library from source and now trying to write parquet files. 
Mainly using the example code, but I am getting link errors I cannot seem to be 
able to fix.

This is how I build the library:

 

{{ }}
{{-> % cmake .. -DARROW_PARQUET:BOOL=ON -DPARQUET_BUILD_EXAMPLES:BOOL=ON }}
{{-- Building using CMake version: 3.16.2-- The C compiler identification is 
GNU 5.4.0}}
{{-- The CXX compiler identification is GNU 5.4.0-- Check for working C 
compiler: /usr/bin/cc}}
{{-- Check for working C compiler: /usr/bin/cc -- works-- Detecting C compiler 
ABI info}}
{{-- Detecting C compiler ABI info - done-- Detecting C compile features}}
{{-- Detecting C compile features - done}}
{{-- Check for working CXX compiler: /usr/bin/c++-- Check for working CXX 
compiler: /usr/bin/c++ -- works}}
{{-- Detecting CXX compiler ABI info-- Detecting CXX compiler ABI info - done}}
{{-- Detecting CXX compile features-- Detecting CXX compile features - done}}
{{-- Arrow version: 0.15.1 (full: '0.15.1')-- Arrow SO version: 15 (full: 
15.1.0)}}
{{-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") -- 
clang-tidy not found}}
{{-- clang-format not found-- infer not found}}
{{-- Found PythonInterp: /home/hosanez/env/bin/python (found version "2.7.12") 
}}
{{-- Found cpplint executable at 
/home/hosanez/scratch/apache-arrow-0.15.1/cpp/build-support/cpplint.py}}
{{-- Compiler command: env LANG=C /usr/bin/c++ -v}}
{{-- Compiler version: Using built-in specs.}}
{{COLLECT_GCC=/usr/bin/c++}}
{{COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper}}
{{Target: x86_64-linux-gnu}}
{{Configured with: ../src/configure -v --with-pkgversion='Ubuntu 
5.4.0-6ubuntu1~16.04.12' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs 
--enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr 
--program-suffix=-5 --enable-shared --enable-linker-build-id 
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix 
--libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu 
--enable-libstdcxx-debug --enable-libstdcxx-time=yes 
--with-default-libstdcxx-abi=new --enable-gnu-unique-object 
--disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib 
--disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo 
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home 
--with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 
--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 
--with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar 
--enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 
--with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib 
--with-tune=generic --enable-checking=release --build=x86_64-linux-gnu 
--host=x86_64-linux-gnu --target=x86_64-linux-gnu}}
{{Thread model: posix}}
{{gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12) }}
{{-- Compiler id: GNU}}
{{Selected compiler gcc 5.4.0-- Performing Test CXX_SUPPORTS_SSE4_2}}
{{-- Performing Test CXX_SUPPORTS_SSE4_2 - Success-- Performing Test 
CXX_SUPPORTS_ALTIVEC}}
{{-- Performing Test CXX_SUPPORTS_ALTIVEC - Failed-- Performing Test 
CXX_SUPPORTS_ARMCRC}}
{{-- Performing Test CXX_SUPPORTS_ARMCRC - Failed-- Performing Test 
CXX_SUPPORTS_ARMV8_CRC_CRYPTO}}
{{-- Performing Test CXX_SUPPORTS_ARMV8_CRC_CRYPTO - Failed-- Arrow build 
warning level: PRODUCTION}}
{{Using ld linkerConfigured for RELEASE build (set with cmake 
-DCMAKE_BUILD_TYPE=\{release,debug,...})}}
{{-- Build Type: RELEASE}}
{{-- Using AUTO approach to find dependencies}}
{{-- AWSSDK_VERSION: 1.7.160}}
{{-- BOOST_VERSION: 1.67.0}}
{{-- BROTLI_VERSION: v1.0.7}}
{{-- BZIP2_VERSION: 1.0.8}}
{{-- CARES_VERSION: 1.15.0}}
{{-- DOUBLE_CONVERSION_VERSION: v3.1.5}}
{{-- FLATBUFFERS_VERSION: v1.11.0}}
{{-- GBENCHMARK_VERSION: v1.5.0}}
{{-- GFLAGS_VERSION: v2.2.0}}
{{-- GLOG_VERSION: v0.3.5}}
{{-- GRPC_VERSION: v1.20.0}}
{{-- GTEST_VERSION: 1.8.1}}
{{-- JEMALLOC_VERSION: 5.2.1}}
{{-- LZ4_VERSION: v1.8.3}}
{{-- MIMALLOC_VERSION: 270e765454f98e8bab9d42609b153425f749fff6}}
{{-- ORC_VERSION: 1.5.5}}
{{-- PROTOBUF_VERSION: v3.7.1}}
{{-- RAPIDJSON_VERSION: 2bbd33b33217ff4a73434ebf10cdac41e2ef5e34}}
{{-- RE2_VERSION: 2019-08-01}}
{{-- SNAPPY_VERSION: 1.1.7}}
{{-- THRIFT_VERSION: 0.12.0}}
{{-- THRIFT_MD5_CHECKSUM: 3deebbb4d1ca77dd9c9e009a1ea02183}}
{{-- URIPARSER_VERSION: 0.9.3}}
{{-- ZLIB_VERSION: 1.2.11}}
{{-- ZSTD_VERSION: v1.4.3}}
{{-- Looking for pthread.h}}
{{-- Looking for pthread.h - found}}
{{-- Performing Test CMAKE_HAVE_LIBC_PTHREAD}}
{{-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed}}
{{-- Check if compiler accepts -pthread}}
{{-- Check if compiler accepts -pthread - yes}}
{{-- Found Threads: TRUE }}
{{-- Found Boost: /usr/local/include (found suitable version "1.60.0", minimum 
required is "1.58") found components: regex system filesystem }}
{{-- Boost include dir: /usr/local/include}}
{{-- Boost libraries: 
/usr/lib/x86_64-linux-gnu/libboost_regex.so/usr/lib/x86_64-linux-gnu/libboost_system.so/usr/lib/x86_64-linux-gnu/libboost_filesystem.so}}
{{-- Found DoubleConversion: /usr/lib/x86_64-linux-gnu/libdouble-conversion.so 
}}
{{-- Performing Test DOUBLE_CONVERSION_HAS_CASE_INSENSIBILITY}}
{{-- Performing Test DOUBLE_CONVERSION_HAS_CASE_INSENSIBILITY - Failed}}
{{-- Checking for modules 'libbrotlicommon;libbrotlienc;libbrotlidec'}}
{{-- No package 'libbrotlicommon' found}}
{{-- No package 'libbrotlienc' found}}
{{-- No package 'libbrotlidec' found}}
{{-- Could NOT find Brotli (missing: BROTLI_COMMON_LIBRARY BROTLI_ENC_LIBRARY 
BROTLI_DEC_LIBRARY BROTLI_INCLUDE_DIR) }}
{{-- Building brotli from source}}
{{-- Building with OpenSSL (Version: 1.0.2g) support}}
{{-- Checking for module 'libglog'}}
{{-- No package 'libglog' found}}
{{-- Could NOT find GLOG (missing: GLOG_INCLUDE_DIR GLOG_LIB) }}
{{-- Building glog from source}}
{{-- Found gflagsAlt: /usr/lib/x86_64-linux-gnu/libgflags.so }}
{{-- Checking for module 'thrift'}}
{{-- No package 'thrift' found}}
{{-- Could NOT find Thrift (missing: THRIFT_STATIC_LIB THRIFT_INCLUDE_DIR 
THRIFT_COMPILER) }}
{{Building Apache Thrift from source}}
{{Downloading Apache Thrift from 
http://apache-mirror.8birdsvideo.com//thrift/0.12.0/thrift-0.12.0.tar.gz}}
{{-- Building (vendored) jemalloc from source}}
{{-- Could NOT find RapidJSONAlt (missing: RAPIDJSON_INCLUDE_DIR) (found 
suitable version "2bbd33b33217ff4a73434ebf10cdac41e2ef5e34", minimum required 
is "1.1.0")}}
{{-- Building rapidjson from source}}
{{-- Could NOT find FlatbuffersAlt (missing: FLATBUFFERS_LIB 
FLATBUFFERS_INCLUDE_DIR FLATC) }}
{{-- Building flatbuffers from source}}
{{-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.8") }}
{{-- Checking for module 'liblz4'}}
{{-- No package 'liblz4' found}}
{{-- Could NOT find Lz4 (missing: LZ4_LIB LZ4_INCLUDE_DIR) }}
{{-- Building lz4 from source}}
{{-- Checking for module 'libzstd'}}
{{-- No package 'libzstd' found}}
{{-- Could NOT find ZSTD (missing: ZSTD_LIB ZSTD_INCLUDE_DIR) }}
{{-- Building zstd from source}}
{{-- Found hdfs.h at: 
/home/hosanez/scratch/apache-arrow-0.15.1/cpp/thirdparty/hadoop/include/hdfs.h}}
{{-- CMAKE_C_FLAGS: -O3 -DNDEBUG -Wall -Wno-attributes -msse4.2}}
{{-- CMAKE_CXX_FLAGS: -fdiagnostics-color=always -O3 -DNDEBUG -Wall 
-Wno-attributes -msse4.2 }}
{{-- flatc: 
/home/hosanez/scratch/apache-arrow-0.15.1/cpp/release/flatbuffers_ep-prefix/src/flatbuffers_ep-install/bin/flatc}}
{{-- Looking for backtrace}}
{{-- Looking for backtrace - found}}
{{-- backtrace facility detected in default set of libraries}}
{{-- Found Backtrace: /usr/include }}
{{-- ---------------------------------------------------------------------}}
{{-- Arrow version: 0.15.1}}
{{-- }}
{{-- Build configuration summary:}}
{{-- Generator: Unix Makefiles}}
{{-- Build type: RELEASE}}
{{-- Source directory: /home/hosanez/scratch/apache-arrow-0.15.1/cpp}}
{{-- Install prefix: /usr/local}}
{{-- }}
{{-- Compile and link options:}}
{{-- Compiler flags to append when compiling Arrow "" [default] 
[ARROW_CXXFLAGS]}}
{{-- Build static libraries ON [default] [ARROW_BUILD_STATIC]}}
{{-- Build shared libraries ON [default] [ARROW_BUILD_SHARED]}}
{{-- Exclude deprecated APIs from build OFF [default] 
[ARROW_NO_DEPRECATED_API]}}
{{-- Use ccache when compiling (if available) ON [default] [ARROW_USE_CCACHE]}}
{{-- Use ld.gold for linking on Linux (if available) OFF [default] 
[ARROW_USE_LD_GOLD]}}
{{-- Build with SIMD optimizations ON [default] [ARROW_USE_SIMD]}}
{{-- Build with SSE4.2 if compiler has support ON [default] [ARROW_SSE42]}}
{{-- Build with Altivec if compiler has support ON [default] [ARROW_ALTIVEC]}}
{{-- Build Arrow libraries with RATH set to $ORIGIN OFF [default] 
[ARROW_RPATH_ORIGIN]}}
{{-- Build Arrow libraries with install_name set to @rpath ON [default] 
[ARROW_INSTALL_NAME_RPATH]}}
{{-- Pass -ggdb flag to debug builds ON [default] [ARROW_GGDB_DEBUG]}}
{{-- }}
{{-- Test and benchmark options:}}
{{-- Build the Arrow examples OFF [default] [ARROW_BUILD_EXAMPLES]}}
{{-- Build the Arrow googletest unit tests OFF [default] [ARROW_BUILD_TESTS]}}
{{-- Build the Arrow integration test executables OFF [default] 
[ARROW_BUILD_INTEGRATION]}}
{{-- Build the Arrow micro benchmarks OFF [default] [ARROW_BUILD_BENCHMARKS]}}
{{-- Build the Arrow micro reference benchmarks OFF [default] 
[ARROW_BUILD_BENCHMARKS_REFERENCE]}}
{{-- Linkage of Arrow libraries with unit tests executables. "shared" [default] 
[ARROW_TEST_LINKAGE] [shared|static]}}
{{-- Build Arrow Fuzzing executables OFF [default] [ARROW_FUZZING]}}
{{-- Enable unit tests which use large memory OFF [default] 
[ARROW_LARGE_MEMORY_TESTS]}}
{{-- }}
{{-- Lint options:}}
{{-- Only define the lint and check-format targets OFF [default] 
[ARROW_ONLY_LINT]}}
{{-- If off, 'quiet' flags will be passed to linting tools OFF [default] 
[ARROW_VERBOSE_LINT]}}
{{-- Build with C++ code coverage enabled OFF [default] 
[ARROW_GENERATE_COVERAGE]}}
{{-- }}
{{-- Checks options:}}
{{-- Run the test suite using valgrind --tool=memcheck OFF [default] 
[ARROW_TEST_MEMCHECK]}}
{{-- Enable Address Sanitizer checks OFF [default] [ARROW_USE_ASAN]}}
{{-- Enable Thread Sanitizer checks OFF [default] [ARROW_USE_TSAN]}}
{{-- Enable Undefined Behavior sanitizer checks OFF [default] 
[ARROW_USE_UBSAN]}}
{{-- }}
{{-- Project component options:}}
{{-- Build Arrow commandline utilities ON [default] [ARROW_BUILD_UTILITIES]}}
{{-- Build the Arrow Compute Modules ON [default] [ARROW_COMPUTE]}}
{{-- Build the Arrow CUDA extensions (requires CUDA toolkit) OFF [default] 
[ARROW_CUDA]}}
{{-- Build the Arrow Dataset Modules ON [default] [ARROW_DATASET]}}
{{-- Build the Arrow Filesystem Layer ON [default] [ARROW_FILESYSTEM]}}
{{-- Build the Arrow Flight RPC System (requires GRPC, Protocol Buffers) OFF 
[default] [ARROW_FLIGHT]}}
{{-- Build the Gandiva libraries OFF [default] [ARROW_GANDIVA]}}
{{-- Build the Arrow HDFS bridge ON [default] [ARROW_HDFS]}}
{{-- Build the HiveServer2 client and Arrow adapter OFF [default] 
[ARROW_HIVESERVER2]}}
{{-- Build the Arrow IPC extensions ON [default] [ARROW_IPC]}}
{{-- Build the Arrow jemalloc-based allocator ON [default] [ARROW_JEMALLOC]}}
{{-- Build the Arrow JNI lib OFF [default] [ARROW_JNI]}}
{{-- Build Arrow with JSON support (requires RapidJSON) ON [default] 
[ARROW_JSON]}}
{{-- Build the Arrow mimalloc-based allocator OFF [default] [ARROW_MIMALLOC]}}
{{-- Build the Parquet libraries ON [ARROW_PARQUET]}}
{{-- Build the Arrow ORC adapter OFF [default] [ARROW_ORC]}}
{{-- Build the plasma object store along with Arrow OFF [default] 
[ARROW_PLASMA]}}
{{-- Build the plasma object store java client OFF [default] 
[ARROW_PLASMA_JAVA_CLIENT]}}
{{-- Build the Arrow CPython extensions OFF [default] [ARROW_PYTHON]}}
{{-- Build Arrow with S3 support (requires the AWS SDK for C++) OFF [default] 
[ARROW_S3]}}
{{-- Build Arrow with TensorFlow support enabled OFF [default] 
[ARROW_TENSORFLOW]}}
{{-- }}
{{-- Thirdparty toolchain options:}}
{{-- Method to use for acquiring arrow's build dependencies "AUTO" [default] 
[ARROW_DEPENDENCY_SOURCE] [AUTO|BUNDLED|SYSTEM|CONDA|BREW]}}
{{-- Show output from ExternalProjects rather than just logging to files OFF 
[default] [ARROW_VERBOSE_THIRDPARTY_BUILD]}}
{{-- Rely on boost shared libraries where relevant ON [default] 
[ARROW_BOOST_USE_SHARED]}}
{{-- Use vendored Boost instead of existing Boost. Note that this requires 
linking Boost statically. Deprecated. Use BOOST_SOURCE=BUNDLED instead. }}
{{ OFF [default] [ARROW_BOOST_VENDORED]}}
{{-- Rely on Protocol Buffers shared libraries where relevant ON [default] 
[ARROW_PROTOBUF_USE_SHARED]}}
{{-- Rely on GFlags shared libraries where relevant ON [default] 
[ARROW_GFLAGS_USE_SHARED]}}
{{-- Build with backtrace support ON [default] [ARROW_WITH_BACKTRACE]}}
{{-- Build libraries with glog support for pluggable logging ON [default] 
[ARROW_USE_GLOG]}}
{{-- Build with Brotli compression ON [default] [ARROW_WITH_BROTLI]}}
{{-- Build with BZ2 compression OFF [default] [ARROW_WITH_BZ2]}}
{{-- Build with lz4 compression ON [default] [ARROW_WITH_LZ4]}}
{{-- Build with Snappy compression ON [default] [ARROW_WITH_SNAPPY]}}
{{-- Build with zlib compression ON [default] [ARROW_WITH_ZLIB]}}
{{-- Build with zstd compression ON [default] [ARROW_WITH_ZSTD]}}
{{-- }}
{{-- Parquet options:}}
{{-- Depend only on Thirdparty headers to build libparquet. Always OFF if 
building binaries }}
{{ OFF [default] [PARQUET_MINIMAL_DEPENDENCY]}}
{{-- Build the Parquet executable CLI tools. Requires static libraries to be 
built. }}
{{ OFF [default] [PARQUET_BUILD_EXECUTABLES]}}
{{-- Build the Parquet examples. Requires static libraries to be built. ON 
[PARQUET_BUILD_EXAMPLES]}}
{{-- Build support for encryption. Fail if OpenSSL is not found OFF [default] 
[PARQUET_REQUIRE_ENCRYPTION]}}
{{-- }}
{{-- Gandiva options:}}
{{-- Build the Gandiva JNI wrappers OFF [default] [ARROW_GANDIVA_JAVA]}}
{{-- Include -static-libstdc++ -static-libgcc when linking with Gandiva static 
libraries }}
{{ OFF [default] [ARROW_GANDIVA_STATIC_LIBSTDCPP]}}
{{-- Compiler flags to append when pre-compiling Gandiva operations "" 
[default] [ARROW_GANDIVA_PC_CXX_FLAGS]}}
{{-- }}
{{-- Advanced developer options:}}
{{-- Compile with extra error context (line numbers, code) OFF [default] 
[ARROW_EXTRA_ERROR_CONTEXT]}}
{{-- If enabled install ONLY targets that have already been built. Please be 
advised that if this is enabled 'install' will fail silently on components that 
have not been built }}
{{ OFF [default] [ARROW_OPTIONAL_INSTALL]}}
{{-- Outputting build configuration summary to 
/home/hosanez/scratch/apache-arrow-0.15.1/cpp/release/cmake_summary.json}}
{{-- Configuring done}}
{{-- Generating done}}
{{-- Build files have been written to: 
/home/hosanez/scratch/apache-arrow-0.15.1/cpp/release}}

 

 

*{{Here is the code I am trying to build:}}*

 

#include <arrow/table.h> 
 #include <arrow/type_traits.h> 
 #include <arrow/array/builder_binary.h> 
 #include <arrow/array/builder_primitive.h> 
 #include <parquet/exception.h> 
 
 
 
 std::shared_ptr<arrow::Table> generate_table() { 
 arrow::Int64Builder i64builder; 
 PARQUET_THROW_NOT_OK(i64builder.AppendValues(\{1, 2, 3, 4, 5})); 
 std::shared_ptr<arrow::Array> i64array; 
 PARQUET_THROW_NOT_OK(i64builder.Finish(&i64array)); 
 
 arrow::StringBuilder strbuilder; 
 PARQUET_THROW_NOT_OK(strbuilder.Append("some")); 
 PARQUET_THROW_NOT_OK(strbuilder.Append("string")); 
 PARQUET_THROW_NOT_OK(strbuilder.Append("content")); 
 PARQUET_THROW_NOT_OK(strbuilder.Append("in")); 
 PARQUET_THROW_NOT_OK(strbuilder.Append("rows")); 
 std::shared_ptr<arrow::Array> strarray; 
 PARQUET_THROW_NOT_OK(strbuilder.Finish(&strarray)); 
 
 std::shared_ptr<arrow::Schema> schema = arrow::schema( 
 \{arrow::field("int", arrow::int64()), arrow::field("str", arrow::utf8())}); 
 
 return arrow::Table::Make(schema, \{i64array, strarray}); 
 } 
 
 int main(int argc, char** argv){ 
 std::shared_ptr<arrow::Table> table = generate_table(); 
 }

 

 

*Here is the build command and output. Please note that I have installed it to 
a custom location and don't have any other conflicting installations.*

{{$ g++ -std=gnu++11 -I /home/hosanez/lib/include -L 
/home/hosanez/lib/lib/libarrow.so -L -larrow main.cpp}}
{{/tmp/ccWYIDP3.o: In function `generate_table()':}}
{{main.cpp:(.text+0x1cd): undefined reference to 
`arrow::default_memory_pool()'}}
{{main.cpp:(.text+0x2cd): undefined reference to 
`arrow::Status::ToString[abi:cxx11]() const'}}
{{main.cpp:(.text+0x3a7): undefined reference to 
`arrow::ArrayBuilder::Finish(std::shared_ptr<arrow::Array>*)'}}
{{main.cpp:(.text+0x3fc): undefined reference to 
`arrow::Status::ToString[abi:cxx11]() const'}}
{{main.cpp:(.text+0x53f): undefined reference to 
`arrow::Status::ToString[abi:cxx11]() const'}}
{{main.cpp:(.text+0x673): undefined reference to 
`arrow::Status::ToString[abi:cxx11]() const'}}
{{main.cpp:(.text+0x7a7): undefined reference to 
`arrow::Status::ToString[abi:cxx11]() const'}}
{{main.cpp:(.text+0x8db): undefined reference to 
`arrow::Status::ToString[abi:cxx11]() const'}}
{{/tmp/ccWYIDP3.o:main.cpp:(.text+0xa0f): more undefined references to 
`arrow::Status::ToString[abi:cxx11]() const' follow}}
{{/tmp/ccWYIDP3.o: In function `generate_table()':}}
{{main.cpp:(.text+0xae9): undefined reference to 
`arrow::ArrayBuilder::Finish(std::shared_ptr<arrow::Array>*)'}}
{{main.cpp:(.text+0xb3e): undefined reference to 
`arrow::Status::ToString[abi:cxx11]() const'}}
{{main.cpp:(.text+0xc19): undefined reference to `arrow::int64()'}}
{{main.cpp:(.text+0xc6f): undefined reference to 
`arrow::field(std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const&, std::shared_ptr<arrow::DataType> const&, bool, 
std::shared_ptr<arrow::KeyValueMetadata const> const&)'}}
{{main.cpp:(.text+0xc92): undefined reference to `arrow::utf8()'}}
{{main.cpp:(.text+0xce8): undefined reference to 
`arrow::field(std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const&, std::shared_ptr<arrow::DataType> const&, bool, 
std::shared_ptr<arrow::KeyValueMetadata const> const&)'}}
{{main.cpp:(.text+0xd52): undefined reference to 
`arrow::schema(std::vector<std::shared_ptr<arrow::Field>, 
std::allocator<std::shared_ptr<arrow::Field> > >&&, 
std::shared_ptr<arrow::KeyValueMetadata const> const&)'}}
{{main.cpp:(.text+0xec0): undefined reference to 
`arrow::Table::Make(std::shared_ptr<arrow::Schema> const&, 
std::vector<std::shared_ptr<arrow::Array>, 
std::allocator<std::shared_ptr<arrow::Array> > > const&, long)'}}
{{/tmp/ccWYIDP3.o: In function `arrow::Buffer::ZeroPadding()':}}
{{main.cpp:(.text._ZN5arrow6Buffer11ZeroPaddingEv[_ZN5arrow6Buffer11ZeroPaddingEv]+0x14):
 undefined reference to `arrow::Buffer::CheckMutable() const'}}
{{/tmp/ccWYIDP3.o: In function `arrow::Buffer::mutable_data()':}}
{{main.cpp:(.text._ZN5arrow6Buffer12mutable_dataEv[_ZN5arrow6Buffer12mutable_dataEv]+0x14):
 undefined reference to `arrow::Buffer::CheckMutable() const'}}
{{/tmp/ccWYIDP3.o: In function 
`arrow::TypeTraits<arrow::Int64Type>::type_singleton()':}}
{{main.cpp:(.text._ZN5arrow10TypeTraitsINS_9Int64TypeEE14type_singletonEv[_ZN5arrow10TypeTraitsINS_9Int64TypeEE14type_singletonEv]+0x23):
 undefined reference to `arrow::int64()'}}
{{/tmp/ccWYIDP3.o: In function `arrow::BufferBuilder::Resize(long, bool)':}}
{{main.cpp:(.text._ZN5arrow13BufferBuilder6ResizeElb[_ZN5arrow13BufferBuilder6ResizeElb]+0x6e):
 undefined reference to `arrow::AllocateResizableBuffer(arrow::MemoryPool*, 
long, std::shared_ptr<arrow::ResizableBuffer>*)'}}
{{/tmp/ccWYIDP3.o: In function 
`arrow::BufferBuilder::Finish(std::shared_ptr<arrow::Buffer>*, bool)':}}
{{main.cpp:(.text._ZN5arrow13BufferBuilder6FinishEPSt10shared_ptrINS_6BufferEEb[_ZN5arrow13BufferBuilder6FinishEPSt10shared_ptrINS_6BufferEEb]+0xfb):
 undefined reference to `arrow::AllocateBuffer(arrow::MemoryPool*, long, 
std::shared_ptr<arrow::Buffer>*)'}}
{{/tmp/ccWYIDP3.o: In function 
`arrow::ArrayBuilder::ArrayBuilder(arrow::MemoryPool*)':}}
{{main.cpp:(.text._ZN5arrow12ArrayBuilderC2EPNS_10MemoryPoolE[_ZN5arrow12ArrayBuilderC5EPNS_10MemoryPoolE]+0x11):
 undefined reference to `vtable for arrow::ArrayBuilder'}}
{{/tmp/ccWYIDP3.o: In function 
`arrow::ArrayBuilder::UnsafeAppendToBitmap(unsigned char const*, long)':}}
{{main.cpp:(.text._ZN5arrow12ArrayBuilder20UnsafeAppendToBitmapEPKhl[_ZN5arrow12ArrayBuilder20UnsafeAppendToBitmapEPKhl]+0x2a):
 undefined reference to `arrow::ArrayBuilder::UnsafeSetNotNull(long)'}}
{{/tmp/ccWYIDP3.o: In function `arrow::ArrayBuilder::UnsafeAppendToBitmap(long, 
bool)':}}
{{main.cpp:(.text._ZN5arrow12ArrayBuilder20UnsafeAppendToBitmapElb[_ZN5arrow12ArrayBuilder20UnsafeAppendToBitmapElb]+0x2a):
 undefined reference to `arrow::ArrayBuilder::UnsafeSetNotNull(long)'}}
{{main.cpp:(.text._ZN5arrow12ArrayBuilder20UnsafeAppendToBitmapElb[_ZN5arrow12ArrayBuilder20UnsafeAppendToBitmapElb]+0x3f):
 undefined reference to `arrow::ArrayBuilder::UnsafeSetNull(long)'}}
{{/tmp/ccWYIDP3.o: In function `arrow::BinaryBuilder::type() const':}}
{{main.cpp:(.text._ZNK5arrow13BinaryBuilder4typeEv[_ZNK5arrow13BinaryBuilder4typeEv]+0x27):
 undefined reference to `arrow::binary()'}}
{{/tmp/ccWYIDP3.o: In function `arrow::StringBuilder::type() const':}}
{{main.cpp:(.text._ZNK5arrow13StringBuilder4typeEv[_ZNK5arrow13StringBuilder4typeEv]+0x27):
 undefined reference to `arrow::utf8()'}}
{{/tmp/ccWYIDP3.o: In function `arrow::ArrayBuilder::~ArrayBuilder()':}}
{{main.cpp:(.text._ZN5arrow12ArrayBuilderD2Ev[_ZN5arrow12ArrayBuilderD5Ev]+0xd):
 undefined reference to `vtable for arrow::ArrayBuilder'}}
{{/tmp/ccWYIDP3.o: In function `arrow::BinaryBuilder::BinaryBuilder()':}}
{{main.cpp:(.text._ZN5arrow13BinaryBuilderC2Ev[_ZN5arrow13BinaryBuilderC5Ev]+0xd):
 undefined reference to `arrow::default_memory_pool()'}}
{{/tmp/ccWYIDP3.o: In function `arrow::Status arrow::Status::Invalid<char const 
(&) [33]>(char const (&) [33])':}}
{{main.cpp:(.text._ZN5arrow6Status7InvalidIJRA33_KcEEES0_DpOT_[_ZN5arrow6Status7InvalidIJRA33_KcEEES0_DpOT_]+0x4f):
 undefined reference to `arrow::Status::Status(arrow::StatusCode, 
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > 
const&)'}}
{{/tmp/ccWYIDP3.o: In function `arrow::Status arrow::Status::Invalid<char const 
(&) [23]>(char const (&) [23])':}}
{{main.cpp:(.text._ZN5arrow6Status7InvalidIJRA23_KcEEES0_DpOT_[_ZN5arrow6Status7InvalidIJRA23_KcEEES0_DpOT_]+0x4f):
 undefined reference to `arrow::Status::Status(arrow::StatusCode, 
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > 
const&)'}}
{{/tmp/ccWYIDP3.o: In function 
`arrow::NumericBuilder<arrow::Int64Type>::NumericBuilder<arrow::Int64Type>(std::enable_if<arrow::TypeTraits<arrow::Int64Type>::is_parameter_free,
 arrow::MemoryPool*>::type)':}}
{{main.cpp:(.text._ZN5arrow14NumericBuilderINS_9Int64TypeEEC2IS1_EENSt9enable_ifIXsrNS_10TypeTraitsIT_EE17is_parameter_freeEPNS_10MemoryPoolEE4typeE[_ZN5arrow14NumericBuilderINS_9Int64TypeEEC5IS1_EENSt9enable_ifIXsrNS_10TypeTraitsIT_EE17is_parameter_freeEPNS_10MemoryPoolEE4typeE]+0x50):
 undefined reference to `arrow::default_memory_pool()'}}
{{/tmp/ccWYIDP3.o: In function `std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > arrow::util::StringBuilder<char 
const (&) [33]>(char const (&) [33])':}}
{{main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x28):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::StringStreamWrapper()'}}
{{main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x61):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::str[abi:cxx11]()'}}
{{main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x6e):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'}}
{{main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x93):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'}}
{{/tmp/ccWYIDP3.o: In function `std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > arrow::util::StringBuilder<char 
const (&) [23]>(char const (&) [23])':}}
{{main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x28):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::StringStreamWrapper()'}}
{{main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x61):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::str[abi:cxx11]()'}}
{{main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x6e):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'}}
{{main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x93):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'}}
{{/tmp/ccWYIDP3.o: In function `arrow::Status arrow::Status::CapacityError<char 
const (&) [32], long, char const (&) [14], long&>(char const (&) [32], long&&, 
char const (&) [14], long&)':}}
{{main.cpp:(.text._ZN5arrow6Status13CapacityErrorIJRA32_KclRA14_S2_RlEEES0_DpOT_[_ZN5arrow6Status13CapacityErrorIJRA32_KclRA14_S2_RlEEES0_DpOT_]+0x92):
 undefined reference to `arrow::Status::Status(arrow::StatusCode, 
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > 
const&)'}}
{{/tmp/ccWYIDP3.o: In function `std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > arrow::util::StringBuilder<char 
const (&) [32], long, char const (&) [14], long&>(char const (&) [32], long&&, 
char const (&) [14], long&)':}}
{{main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA32_KclRA14_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA32_KclRA14_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x3a):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::StringStreamWrapper()'}}
{{main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA32_KclRA14_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA32_KclRA14_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0xa9):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::str[abi:cxx11]()'}}
{{main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA32_KclRA14_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA32_KclRA14_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0xb6):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'}}
{{main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA32_KclRA14_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA32_KclRA14_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0xdb):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'}}
{{/tmp/ccWYIDP3.o:(.rodata._ZTIN5arrow14NumericBuilderINS_9Int64TypeEEE[_ZTIN5arrow14NumericBuilderINS_9Int64TypeEEE]+0x10):
 undefined reference to `typeinfo for arrow::ArrayBuilder'}}
{{/tmp/ccWYIDP3.o:(.rodata._ZTIN5arrow17BaseBinaryBuilderINS_10BinaryTypeEEE[_ZTIN5arrow17BaseBinaryBuilderINS_10BinaryTypeEEE]+0x10):
 undefined reference to `typeinfo for arrow::ArrayBuilder'}}
{{/tmp/ccWYIDP3.o: In function 
`arrow::NumericBuilder<arrow::Int64Type>::Resize(long)':}}
{{main.cpp:(.text._ZN5arrow14NumericBuilderINS_9Int64TypeEE6ResizeEl[_ZN5arrow14NumericBuilderINS_9Int64TypeEE6ResizeEl]+0x128):
 undefined reference to `arrow::ArrayBuilder::Resize(long)'}}
{{/tmp/ccWYIDP3.o: In function 
`arrow::NumericBuilder<arrow::Int64Type>::AppendNulls(long)':}}
{{main.cpp:(.text._ZN5arrow14NumericBuilderINS_9Int64TypeEE11AppendNullsEl[_ZN5arrow14NumericBuilderINS_9Int64TypeEE11AppendNullsEl]+0xb6):
 undefined reference to `arrow::ArrayBuilder::UnsafeSetNull(long)'}}
{{/tmp/ccWYIDP3.o: In function 
`arrow::NumericBuilder<arrow::Int64Type>::FinishInternal(std::shared_ptr<arrow::ArrayData>*)':}}
{{main.cpp:(.text._ZN5arrow14NumericBuilderINS_9Int64TypeEE14FinishInternalEPSt10shared_ptrINS_9ArrayDataEE[_ZN5arrow14NumericBuilderINS_9Int64TypeEE14FinishInternalEPSt10shared_ptrINS_9ArrayDataEE]+0x226):
 undefined reference to 
`arrow::ArrayData::Make(std::shared_ptr<arrow::DataType> const&, long, 
std::vector<std::shared_ptr<arrow::Buffer>, 
std::allocator<std::shared_ptr<arrow::Buffer> > >&&, long, long)'}}
{{/tmp/ccWYIDP3.o: In function 
`arrow::BaseBinaryBuilder<arrow::BinaryType>::Resize(long)':}}
{{main.cpp:(.text._ZN5arrow17BaseBinaryBuilderINS_10BinaryTypeEE6ResizeEl[_ZN5arrow17BaseBinaryBuilderINS_10BinaryTypeEE6ResizeEl]+0x159):
 undefined reference to `arrow::ArrayBuilder::Resize(long)'}}
{{/tmp/ccWYIDP3.o: In function 
`arrow::BaseBinaryBuilder<arrow::BinaryType>::Reset()':}}
{{main.cpp:(.text._ZN5arrow17BaseBinaryBuilderINS_10BinaryTypeEE5ResetEv[_ZN5arrow17BaseBinaryBuilderINS_10BinaryTypeEE5ResetEv]+0x14):
 undefined reference to `arrow::ArrayBuilder::Reset()'}}
{{/tmp/ccWYIDP3.o: In function 
`arrow::BaseBinaryBuilder<arrow::BinaryType>::FinishInternal(std::shared_ptr<arrow::ArrayData>*)':}}
{{main.cpp:(.text._ZN5arrow17BaseBinaryBuilderINS_10BinaryTypeEE14FinishInternalEPSt10shared_ptrINS_9ArrayDataEE[_ZN5arrow17BaseBinaryBuilderINS_10BinaryTypeEE14FinishInternalEPSt10shared_ptrINS_9ArrayDataEE]+0x33d):
 undefined reference to 
`arrow::ArrayData::Make(std::shared_ptr<arrow::DataType> const&, long, 
std::vector<std::shared_ptr<arrow::Buffer>, 
std::allocator<std::shared_ptr<arrow::Buffer> > >&&, long, long)'}}
{{/tmp/ccWYIDP3.o: In function `arrow::Status arrow::Status::CapacityError<char 
const (&) [50], long, char const (&) [22], long&>(char const (&) [50], long&&, 
char const (&) [22], long&)':}}
{{main.cpp:(.text._ZN5arrow6Status13CapacityErrorIJRA50_KclRA22_S2_RlEEES0_DpOT_[_ZN5arrow6Status13CapacityErrorIJRA50_KclRA22_S2_RlEEES0_DpOT_]+0x92):
 undefined reference to `arrow::Status::Status(arrow::StatusCode, 
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > 
const&)'}}
{{/tmp/ccWYIDP3.o: In function `std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > arrow::util::StringBuilder<char 
const (&) [50], long, char const (&) [22], long&>(char const (&) [50], long&&, 
char const (&) [22], long&)':}}
{{main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA50_KclRA22_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA50_KclRA22_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x3a):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::StringStreamWrapper()'}}
{{main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA50_KclRA22_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA50_KclRA22_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0xa9):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::str[abi:cxx11]()'}}
{{main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA50_KclRA22_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA50_KclRA22_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0xb6):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'}}
{{main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA50_KclRA22_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA50_KclRA22_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0xdb):
 undefined reference to 
`arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'}}
{{collect2: error: ld returned 1 exit status}}

 


> [C++] Build errors when using library that is built from source
> ---------------------------------------------------------------
>
>                 Key: ARROW-7707
>                 URL: https://issues.apache.org/jira/browse/ARROW-7707
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: C++
>    Affects Versions: 0.15.1
>            Reporter: Hossein R
>            Priority: Minor
>
> Hi there I built the library from source and now trying to write parquet 
> files. Mainly using the example code, but I am getting link errors I cannot 
> seem to be able to fix.
> This is how I build the library:
> {noformat}
> -> % cmake .. -DARROW_PARQUET:BOOL=ON -DPARQUET_BUILD_EXAMPLES:BOOL=ON 
> -- Building using CMake version: 3.16.2-- The C compiler identification is 
> GNU 5.4.0
> -- The CXX compiler identification is GNU 5.4.0-- Check for working C 
> compiler: /usr/bin/cc
> -- Check for working C compiler: /usr/bin/cc -- works-- Detecting C compiler 
> ABI info
> -- Detecting C compiler ABI info - done-- Detecting C compile features
> -- Detecting C compile features - done
> -- Check for working CXX compiler: /usr/bin/c++-- Check for working CXX 
> compiler: /usr/bin/c++ -- works
> -- Detecting CXX compiler ABI info-- Detecting CXX compiler ABI info - done
> -- Detecting CXX compile features-- Detecting CXX compile features - done
> -- Arrow version: 0.15.1 (full: '0.15.1')-- Arrow SO version: 15 (full: 
> 15.1.0)
> -- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") -- 
> clang-tidy not found
> -- clang-format not found-- infer not found
> -- Found PythonInterp: /home/hosanez/env/bin/python (found version "2.7.12") 
> -- Found cpplint executable at 
> /home/hosanez/scratch/apache-arrow-0.15.1/cpp/build-support/cpplint.py
> -- Compiler command: env LANG=C /usr/bin/c++ -v
> -- Compiler version: Using built-in specs.
> COLLECT_GCC=/usr/bin/c++
> COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
> Target: x86_64-linux-gnu
> Configured with: ../src/configure -v --with-pkgversion='Ubuntu 
> 5.4.0-6ubuntu1~16.04.12' 
> --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs 
> --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr 
> --program-suffix=-5 --enable-shared --enable-linker-build-id 
> --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix 
> --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu 
> --enable-libstdcxx-debug --enable-libstdcxx-time=yes 
> --with-default-libstdcxx-abi=new --enable-gnu-unique-object 
> --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib 
> --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo 
> --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home 
> --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 
> --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 
> --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar 
> --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 
> --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib 
> --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu 
> --host=x86_64-linux-gnu --target=x86_64-linux-gnu
> Thread model: posix
> gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12) 
> -- Compiler id: GNU
> Selected compiler gcc 5.4.0-- Performing Test CXX_SUPPORTS_SSE4_2
> -- Performing Test CXX_SUPPORTS_SSE4_2 - Success-- Performing Test 
> CXX_SUPPORTS_ALTIVEC
> -- Performing Test CXX_SUPPORTS_ALTIVEC - Failed-- Performing Test 
> CXX_SUPPORTS_ARMCRC
> -- Performing Test CXX_SUPPORTS_ARMCRC - Failed-- Performing Test 
> CXX_SUPPORTS_ARMV8_CRC_CRYPTO
> -- Performing Test CXX_SUPPORTS_ARMV8_CRC_CRYPTO - Failed-- Arrow build 
> warning level: PRODUCTION
> Using ld linkerConfigured for RELEASE build (set with cmake 
> -DCMAKE_BUILD_TYPE=\{release,debug,...})
> -- Build Type: RELEASE
> -- Using AUTO approach to find dependencies
> -- AWSSDK_VERSION: 1.7.160
> -- BOOST_VERSION: 1.67.0
> -- BROTLI_VERSION: v1.0.7
> -- BZIP2_VERSION: 1.0.8
> -- CARES_VERSION: 1.15.0
> -- DOUBLE_CONVERSION_VERSION: v3.1.5
> -- FLATBUFFERS_VERSION: v1.11.0
> -- GBENCHMARK_VERSION: v1.5.0
> -- GFLAGS_VERSION: v2.2.0
> -- GLOG_VERSION: v0.3.5
> -- GRPC_VERSION: v1.20.0
> -- GTEST_VERSION: 1.8.1
> -- JEMALLOC_VERSION: 5.2.1
> -- LZ4_VERSION: v1.8.3
> -- MIMALLOC_VERSION: 270e765454f98e8bab9d42609b153425f749fff6
> -- ORC_VERSION: 1.5.5
> -- PROTOBUF_VERSION: v3.7.1
> -- RAPIDJSON_VERSION: 2bbd33b33217ff4a73434ebf10cdac41e2ef5e34
> -- RE2_VERSION: 2019-08-01
> -- SNAPPY_VERSION: 1.1.7
> -- THRIFT_VERSION: 0.12.0
> -- THRIFT_MD5_CHECKSUM: 3deebbb4d1ca77dd9c9e009a1ea02183
> -- URIPARSER_VERSION: 0.9.3
> -- ZLIB_VERSION: 1.2.11
> -- ZSTD_VERSION: v1.4.3
> -- Looking for pthread.h
> -- Looking for pthread.h - found
> -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
> -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
> -- Check if compiler accepts -pthread
> -- Check if compiler accepts -pthread - yes
> -- Found Threads: TRUE 
> -- Found Boost: /usr/local/include (found suitable version "1.60.0", minimum 
> required is "1.58") found components: regex system filesystem 
> -- Boost include dir: /usr/local/include
> -- Boost libraries: 
> /usr/lib/x86_64-linux-gnu/libboost_regex.so/usr/lib/x86_64-linux-gnu/libboost_system.so/usr/lib/x86_64-linux-gnu/libboost_filesystem.so
> -- Found DoubleConversion: /usr/lib/x86_64-linux-gnu/libdouble-conversion.so 
> -- Performing Test DOUBLE_CONVERSION_HAS_CASE_INSENSIBILITY
> -- Performing Test DOUBLE_CONVERSION_HAS_CASE_INSENSIBILITY - Failed
> -- Checking for modules 'libbrotlicommon;libbrotlienc;libbrotlidec'
> -- No package 'libbrotlicommon' found
> -- No package 'libbrotlienc' found
> -- No package 'libbrotlidec' found
> -- Could NOT find Brotli (missing: BROTLI_COMMON_LIBRARY BROTLI_ENC_LIBRARY 
> BROTLI_DEC_LIBRARY BROTLI_INCLUDE_DIR) 
> -- Building brotli from source
> -- Building with OpenSSL (Version: 1.0.2g) support
> -- Checking for module 'libglog'
> -- No package 'libglog' found
> -- Could NOT find GLOG (missing: GLOG_INCLUDE_DIR GLOG_LIB) 
> -- Building glog from source
> -- Found gflagsAlt: /usr/lib/x86_64-linux-gnu/libgflags.so 
> -- Checking for module 'thrift'
> -- No package 'thrift' found
> -- Could NOT find Thrift (missing: THRIFT_STATIC_LIB THRIFT_INCLUDE_DIR 
> THRIFT_COMPILER) 
> Building Apache Thrift from source
> Downloading Apache Thrift from 
> http://apache-mirror.8birdsvideo.com//thrift/0.12.0/thrift-0.12.0.tar.gz
> -- Building (vendored) jemalloc from source
> -- Could NOT find RapidJSONAlt (missing: RAPIDJSON_INCLUDE_DIR) (found 
> suitable version "2bbd33b33217ff4a73434ebf10cdac41e2ef5e34", minimum required 
> is "1.1.0")
> -- Building rapidjson from source
> -- Could NOT find FlatbuffersAlt (missing: FLATBUFFERS_LIB 
> FLATBUFFERS_INCLUDE_DIR FLATC) 
> -- Building flatbuffers from source
> -- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.8") 
> -- Checking for module 'liblz4'
> -- No package 'liblz4' found
> -- Could NOT find Lz4 (missing: LZ4_LIB LZ4_INCLUDE_DIR) 
> -- Building lz4 from source
> -- Checking for module 'libzstd'
> -- No package 'libzstd' found
> -- Could NOT find ZSTD (missing: ZSTD_LIB ZSTD_INCLUDE_DIR) 
> -- Building zstd from source
> -- Found hdfs.h at: 
> /home/hosanez/scratch/apache-arrow-0.15.1/cpp/thirdparty/hadoop/include/hdfs.h
> -- CMAKE_C_FLAGS: -O3 -DNDEBUG -Wall -Wno-attributes -msse4.2
> -- CMAKE_CXX_FLAGS: -fdiagnostics-color=always -O3 -DNDEBUG -Wall 
> -Wno-attributes -msse4.2 
> -- flatc: 
> /home/hosanez/scratch/apache-arrow-0.15.1/cpp/release/flatbuffers_ep-prefix/src/flatbuffers_ep-install/bin/flatc
> -- Looking for backtrace
> -- Looking for backtrace - found
> -- backtrace facility detected in default set of libraries
> -- Found Backtrace: /usr/include 
> -- ---------------------------------------------------------------------
> -- Arrow version: 0.15.1
> -- 
> -- Build configuration summary:
> -- Generator: Unix Makefiles
> -- Build type: RELEASE
> -- Source directory: /home/hosanez/scratch/apache-arrow-0.15.1/cpp
> -- Install prefix: /usr/local
> -- 
> -- Compile and link options:
> -- Compiler flags to append when compiling Arrow "" [default] [ARROW_CXXFLAGS]
> -- Build static libraries ON [default] [ARROW_BUILD_STATIC]
> -- Build shared libraries ON [default] [ARROW_BUILD_SHARED]
> -- Exclude deprecated APIs from build OFF [default] [ARROW_NO_DEPRECATED_API]
> -- Use ccache when compiling (if available) ON [default] [ARROW_USE_CCACHE]
> -- Use ld.gold for linking on Linux (if available) OFF [default] 
> [ARROW_USE_LD_GOLD]
> -- Build with SIMD optimizations ON [default] [ARROW_USE_SIMD]
> -- Build with SSE4.2 if compiler has support ON [default] [ARROW_SSE42]
> -- Build with Altivec if compiler has support ON [default] [ARROW_ALTIVEC]
> -- Build Arrow libraries with RATH set to $ORIGIN OFF [default] 
> [ARROW_RPATH_ORIGIN]
> -- Build Arrow libraries with install_name set to @rpath ON [default] 
> [ARROW_INSTALL_NAME_RPATH]
> -- Pass -ggdb flag to debug builds ON [default] [ARROW_GGDB_DEBUG]
> -- 
> -- Test and benchmark options:
> -- Build the Arrow examples OFF [default] [ARROW_BUILD_EXAMPLES]
> -- Build the Arrow googletest unit tests OFF [default] [ARROW_BUILD_TESTS]
> -- Build the Arrow integration test executables OFF [default] 
> [ARROW_BUILD_INTEGRATION]
> -- Build the Arrow micro benchmarks OFF [default] [ARROW_BUILD_BENCHMARKS]
> -- Build the Arrow micro reference benchmarks OFF [default] 
> [ARROW_BUILD_BENCHMARKS_REFERENCE]
> -- Linkage of Arrow libraries with unit tests executables. "shared" [default] 
> [ARROW_TEST_LINKAGE] [shared|static]
> -- Build Arrow Fuzzing executables OFF [default] [ARROW_FUZZING]
> -- Enable unit tests which use large memory OFF [default] 
> [ARROW_LARGE_MEMORY_TESTS]
> -- 
> -- Lint options:
> -- Only define the lint and check-format targets OFF [default] 
> [ARROW_ONLY_LINT]
> -- If off, 'quiet' flags will be passed to linting tools OFF [default] 
> [ARROW_VERBOSE_LINT]
> -- Build with C++ code coverage enabled OFF [default] 
> [ARROW_GENERATE_COVERAGE]
> -- 
> -- Checks options:
> -- Run the test suite using valgrind --tool=memcheck OFF [default] 
> [ARROW_TEST_MEMCHECK]
> -- Enable Address Sanitizer checks OFF [default] [ARROW_USE_ASAN]
> -- Enable Thread Sanitizer checks OFF [default] [ARROW_USE_TSAN]
> -- Enable Undefined Behavior sanitizer checks OFF [default] [ARROW_USE_UBSAN]
> -- 
> -- Project component options:
> -- Build Arrow commandline utilities ON [default] [ARROW_BUILD_UTILITIES]
> -- Build the Arrow Compute Modules ON [default] [ARROW_COMPUTE]
> -- Build the Arrow CUDA extensions (requires CUDA toolkit) OFF [default] 
> [ARROW_CUDA]
> -- Build the Arrow Dataset Modules ON [default] [ARROW_DATASET]
> -- Build the Arrow Filesystem Layer ON [default] [ARROW_FILESYSTEM]
> -- Build the Arrow Flight RPC System (requires GRPC, Protocol Buffers) OFF 
> [default] [ARROW_FLIGHT]
> -- Build the Gandiva libraries OFF [default] [ARROW_GANDIVA]
> -- Build the Arrow HDFS bridge ON [default] [ARROW_HDFS]
> -- Build the HiveServer2 client and Arrow adapter OFF [default] 
> [ARROW_HIVESERVER2]
> -- Build the Arrow IPC extensions ON [default] [ARROW_IPC]
> -- Build the Arrow jemalloc-based allocator ON [default] [ARROW_JEMALLOC]
> -- Build the Arrow JNI lib OFF [default] [ARROW_JNI]
> -- Build Arrow with JSON support (requires RapidJSON) ON [default] 
> [ARROW_JSON]
> -- Build the Arrow mimalloc-based allocator OFF [default] [ARROW_MIMALLOC]
> -- Build the Parquet libraries ON [ARROW_PARQUET]
> -- Build the Arrow ORC adapter OFF [default] [ARROW_ORC]
> -- Build the plasma object store along with Arrow OFF [default] [ARROW_PLASMA]
> -- Build the plasma object store java client OFF [default] 
> [ARROW_PLASMA_JAVA_CLIENT]
> -- Build the Arrow CPython extensions OFF [default] [ARROW_PYTHON]
> -- Build Arrow with S3 support (requires the AWS SDK for C++) OFF [default] 
> [ARROW_S3]
> -- Build Arrow with TensorFlow support enabled OFF [default] 
> [ARROW_TENSORFLOW]
> -- 
> -- Thirdparty toolchain options:
> -- Method to use for acquiring arrow's build dependencies "AUTO" [default] 
> [ARROW_DEPENDENCY_SOURCE] [AUTO|BUNDLED|SYSTEM|CONDA|BREW]
> -- Show output from ExternalProjects rather than just logging to files OFF 
> [default] [ARROW_VERBOSE_THIRDPARTY_BUILD]
> -- Rely on boost shared libraries where relevant ON [default] 
> [ARROW_BOOST_USE_SHARED]
> -- Use vendored Boost instead of existing Boost. Note that this requires 
> linking Boost statically. Deprecated. Use BOOST_SOURCE=BUNDLED instead. 
>  OFF [default] [ARROW_BOOST_VENDORED]
> -- Rely on Protocol Buffers shared libraries where relevant ON [default] 
> [ARROW_PROTOBUF_USE_SHARED]
> -- Rely on GFlags shared libraries where relevant ON [default] 
> [ARROW_GFLAGS_USE_SHARED]
> -- Build with backtrace support ON [default] [ARROW_WITH_BACKTRACE]
> -- Build libraries with glog support for pluggable logging ON [default] 
> [ARROW_USE_GLOG]
> -- Build with Brotli compression ON [default] [ARROW_WITH_BROTLI]
> -- Build with BZ2 compression OFF [default] [ARROW_WITH_BZ2]
> -- Build with lz4 compression ON [default] [ARROW_WITH_LZ4]
> -- Build with Snappy compression ON [default] [ARROW_WITH_SNAPPY]
> -- Build with zlib compression ON [default] [ARROW_WITH_ZLIB]
> -- Build with zstd compression ON [default] [ARROW_WITH_ZSTD]
> -- 
> -- Parquet options:
> -- Depend only on Thirdparty headers to build libparquet. Always OFF if 
> building binaries 
>  OFF [default] [PARQUET_MINIMAL_DEPENDENCY]
> -- Build the Parquet executable CLI tools. Requires static libraries to be 
> built. 
>  OFF [default] [PARQUET_BUILD_EXECUTABLES]
> -- Build the Parquet examples. Requires static libraries to be built. ON 
> [PARQUET_BUILD_EXAMPLES]
> -- Build support for encryption. Fail if OpenSSL is not found OFF [default] 
> [PARQUET_REQUIRE_ENCRYPTION]
> -- 
> -- Gandiva options:
> -- Build the Gandiva JNI wrappers OFF [default] [ARROW_GANDIVA_JAVA]
> -- Include -static-libstdc++ -static-libgcc when linking with Gandiva static 
> libraries 
>  OFF [default] [ARROW_GANDIVA_STATIC_LIBSTDCPP]
> -- Compiler flags to append when pre-compiling Gandiva operations "" 
> [default] [ARROW_GANDIVA_PC_CXX_FLAGS]
> -- 
> -- Advanced developer options:
> -- Compile with extra error context (line numbers, code) OFF [default] 
> [ARROW_EXTRA_ERROR_CONTEXT]
> -- If enabled install ONLY targets that have already been built. Please be 
> advised that if this is enabled 'install' will fail silently on components 
> that have not been built 
>  OFF [default] [ARROW_OPTIONAL_INSTALL]
> -- Outputting build configuration summary to 
> /home/hosanez/scratch/apache-arrow-0.15.1/cpp/release/cmake_summary.json
> -- Configuring done
> -- Generating done
> -- Build files have been written to: 
> /home/hosanez/scratch/apache-arrow-0.15.1/cpp/release
>  
>  
> *Here is the code I am trying to build:*
> {noformat}
> #include <arrow/table.h> 
> #include <arrow/type_traits.h> 
> #include <arrow/array/builder_binary.h> 
> #include <arrow/array/builder_primitive.h> 
> #include <parquet/exception.h> 
> std::shared_ptr<arrow::Table> generate_table() { 
> arrow::Int64Builder i64builder; 
> PARQUET_THROW_NOT_OK(i64builder.AppendValues(\{1, 2, 3, 4, 5})); 
> std::shared_ptr<arrow::Array> i64array; 
> PARQUET_THROW_NOT_OK(i64builder.Finish(&i64array)); 
> arrow::StringBuilder strbuilder; 
> PARQUET_THROW_NOT_OK(strbuilder.Append("some")); 
> PARQUET_THROW_NOT_OK(strbuilder.Append("string")); 
> PARQUET_THROW_NOT_OK(strbuilder.Append("content")); 
> PARQUET_THROW_NOT_OK(strbuilder.Append("in")); 
> PARQUET_THROW_NOT_OK(strbuilder.Append("rows")); 
> std::shared_ptr<arrow::Array> strarray; 
> PARQUET_THROW_NOT_OK(strbuilder.Finish(&strarray)); 
> std::shared_ptr<arrow::Schema> schema = arrow::schema( 
>   {arrow::field("int", arrow::int64()), arrow::field("str", arrow::utf8())}); 
>   return arrow::Table::Make(schema, {i64array, strarray}); 
> } 
> int main(int argc, char** argv){ 
>   std::shared_ptr<arrow::Table> table = generate_table(); 
> }
> {noformat}
> *Here is the build command and output. Please note that I have installed it 
> to a custom location and don't have any other conflicting installations.*
> {noformat}
> $ g++ -std=gnu++11 -I /home/hosanez/lib/include -L 
> /home/hosanez/lib/lib/libarrow.so -L -larrow main.cpp
> /tmp/ccWYIDP3.o: In function `generate_table()':
> main.cpp:(.text+0x1cd): undefined reference to `arrow::default_memory_pool()'
> main.cpp:(.text+0x2cd): undefined reference to 
> `arrow::Status::ToString[abi:cxx11]() const'
> main.cpp:(.text+0x3a7): undefined reference to 
> `arrow::ArrayBuilder::Finish(std::shared_ptr<arrow::Array>*)'
> main.cpp:(.text+0x3fc): undefined reference to 
> `arrow::Status::ToString[abi:cxx11]() const'
> main.cpp:(.text+0x53f): undefined reference to 
> `arrow::Status::ToString[abi:cxx11]() const'
> main.cpp:(.text+0x673): undefined reference to 
> `arrow::Status::ToString[abi:cxx11]() const'
> main.cpp:(.text+0x7a7): undefined reference to 
> `arrow::Status::ToString[abi:cxx11]() const'
> main.cpp:(.text+0x8db): undefined reference to 
> `arrow::Status::ToString[abi:cxx11]() const'
> /tmp/ccWYIDP3.o:main.cpp:(.text+0xa0f): more undefined references to 
> `arrow::Status::ToString[abi:cxx11]() const' follow
> /tmp/ccWYIDP3.o: In function `generate_table()':
> main.cpp:(.text+0xae9): undefined reference to 
> `arrow::ArrayBuilder::Finish(std::shared_ptr<arrow::Array>*)'
> main.cpp:(.text+0xb3e): undefined reference to 
> `arrow::Status::ToString[abi:cxx11]() const'
> main.cpp:(.text+0xc19): undefined reference to `arrow::int64()'
> main.cpp:(.text+0xc6f): undefined reference to 
> `arrow::field(std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > const&, std::shared_ptr<arrow::DataType> const&, bool, 
> std::shared_ptr<arrow::KeyValueMetadata const> const&)'
> main.cpp:(.text+0xc92): undefined reference to `arrow::utf8()'
> main.cpp:(.text+0xce8): undefined reference to 
> `arrow::field(std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > const&, std::shared_ptr<arrow::DataType> const&, bool, 
> std::shared_ptr<arrow::KeyValueMetadata const> const&)'
> main.cpp:(.text+0xd52): undefined reference to 
> `arrow::schema(std::vector<std::shared_ptr<arrow::Field>, 
> std::allocator<std::shared_ptr<arrow::Field> > >&&, 
> std::shared_ptr<arrow::KeyValueMetadata const> const&)'
> main.cpp:(.text+0xec0): undefined reference to 
> `arrow::Table::Make(std::shared_ptr<arrow::Schema> const&, 
> std::vector<std::shared_ptr<arrow::Array>, 
> std::allocator<std::shared_ptr<arrow::Array> > > const&, long)'
> /tmp/ccWYIDP3.o: In function `arrow::Buffer::ZeroPadding()':
> main.cpp:(.text._ZN5arrow6Buffer11ZeroPaddingEv[_ZN5arrow6Buffer11ZeroPaddingEv]+0x14):
>  undefined reference to `arrow::Buffer::CheckMutable() const'
> /tmp/ccWYIDP3.o: In function `arrow::Buffer::mutable_data()':
> main.cpp:(.text._ZN5arrow6Buffer12mutable_dataEv[_ZN5arrow6Buffer12mutable_dataEv]+0x14):
>  undefined reference to `arrow::Buffer::CheckMutable() const'
> /tmp/ccWYIDP3.o: In function 
> `arrow::TypeTraits<arrow::Int64Type>::type_singleton()':
> main.cpp:(.text._ZN5arrow10TypeTraitsINS_9Int64TypeEE14type_singletonEv[_ZN5arrow10TypeTraitsINS_9Int64TypeEE14type_singletonEv]+0x23):
>  undefined reference to `arrow::int64()'
> /tmp/ccWYIDP3.o: In function `arrow::BufferBuilder::Resize(long, bool)':
> main.cpp:(.text._ZN5arrow13BufferBuilder6ResizeElb[_ZN5arrow13BufferBuilder6ResizeElb]+0x6e):
>  undefined reference to `arrow::AllocateResizableBuffer(arrow::MemoryPool*, 
> long, std::shared_ptr<arrow::ResizableBuffer>*)'
> /tmp/ccWYIDP3.o: In function 
> `arrow::BufferBuilder::Finish(std::shared_ptr<arrow::Buffer>*, bool)':
> main.cpp:(.text._ZN5arrow13BufferBuilder6FinishEPSt10shared_ptrINS_6BufferEEb[_ZN5arrow13BufferBuilder6FinishEPSt10shared_ptrINS_6BufferEEb]+0xfb):
>  undefined reference to `arrow::AllocateBuffer(arrow::MemoryPool*, long, 
> std::shared_ptr<arrow::Buffer>*)'
> /tmp/ccWYIDP3.o: In function 
> `arrow::ArrayBuilder::ArrayBuilder(arrow::MemoryPool*)':
> main.cpp:(.text._ZN5arrow12ArrayBuilderC2EPNS_10MemoryPoolE[_ZN5arrow12ArrayBuilderC5EPNS_10MemoryPoolE]+0x11):
>  undefined reference to `vtable for arrow::ArrayBuilder'
> /tmp/ccWYIDP3.o: In function 
> `arrow::ArrayBuilder::UnsafeAppendToBitmap(unsigned char const*, long)':
> main.cpp:(.text._ZN5arrow12ArrayBuilder20UnsafeAppendToBitmapEPKhl[_ZN5arrow12ArrayBuilder20UnsafeAppendToBitmapEPKhl]+0x2a):
>  undefined reference to `arrow::ArrayBuilder::UnsafeSetNotNull(long)'
> /tmp/ccWYIDP3.o: In function `arrow::ArrayBuilder::UnsafeAppendToBitmap(long, 
> bool)':
> main.cpp:(.text._ZN5arrow12ArrayBuilder20UnsafeAppendToBitmapElb[_ZN5arrow12ArrayBuilder20UnsafeAppendToBitmapElb]+0x2a):
>  undefined reference to `arrow::ArrayBuilder::UnsafeSetNotNull(long)'
> main.cpp:(.text._ZN5arrow12ArrayBuilder20UnsafeAppendToBitmapElb[_ZN5arrow12ArrayBuilder20UnsafeAppendToBitmapElb]+0x3f):
>  undefined reference to `arrow::ArrayBuilder::UnsafeSetNull(long)'
> /tmp/ccWYIDP3.o: In function `arrow::BinaryBuilder::type() const':
> main.cpp:(.text._ZNK5arrow13BinaryBuilder4typeEv[_ZNK5arrow13BinaryBuilder4typeEv]+0x27):
>  undefined reference to `arrow::binary()'
> /tmp/ccWYIDP3.o: In function `arrow::StringBuilder::type() const':
> main.cpp:(.text._ZNK5arrow13StringBuilder4typeEv[_ZNK5arrow13StringBuilder4typeEv]+0x27):
>  undefined reference to `arrow::utf8()'
> /tmp/ccWYIDP3.o: In function `arrow::ArrayBuilder::~ArrayBuilder()':
> main.cpp:(.text._ZN5arrow12ArrayBuilderD2Ev[_ZN5arrow12ArrayBuilderD5Ev]+0xd):
>  undefined reference to `vtable for arrow::ArrayBuilder'
> /tmp/ccWYIDP3.o: In function `arrow::BinaryBuilder::BinaryBuilder()':
> main.cpp:(.text._ZN5arrow13BinaryBuilderC2Ev[_ZN5arrow13BinaryBuilderC5Ev]+0xd):
>  undefined reference to `arrow::default_memory_pool()'
> /tmp/ccWYIDP3.o: In function `arrow::Status arrow::Status::Invalid<char const 
> (&) [33]>(char const (&) [33])':
> main.cpp:(.text._ZN5arrow6Status7InvalidIJRA33_KcEEES0_DpOT_[_ZN5arrow6Status7InvalidIJRA33_KcEEES0_DpOT_]+0x4f):
>  undefined reference to `arrow::Status::Status(arrow::StatusCode, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&)'
> /tmp/ccWYIDP3.o: In function `arrow::Status arrow::Status::Invalid<char const 
> (&) [23]>(char const (&) [23])':
> main.cpp:(.text._ZN5arrow6Status7InvalidIJRA23_KcEEES0_DpOT_[_ZN5arrow6Status7InvalidIJRA23_KcEEES0_DpOT_]+0x4f):
>  undefined reference to `arrow::Status::Status(arrow::StatusCode, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&)'
> /tmp/ccWYIDP3.o: In function 
> `arrow::NumericBuilder<arrow::Int64Type>::NumericBuilder<arrow::Int64Type>(std::enable_if<arrow::TypeTraits<arrow::Int64Type>::is_parameter_free,
>  arrow::MemoryPool*>::type)':
> main.cpp:(.text._ZN5arrow14NumericBuilderINS_9Int64TypeEEC2IS1_EENSt9enable_ifIXsrNS_10TypeTraitsIT_EE17is_parameter_freeEPNS_10MemoryPoolEE4typeE[_ZN5arrow14NumericBuilderINS_9Int64TypeEEC5IS1_EENSt9enable_ifIXsrNS_10TypeTraitsIT_EE17is_parameter_freeEPNS_10MemoryPoolEE4typeE]+0x50):
>  undefined reference to `arrow::default_memory_pool()'
> /tmp/ccWYIDP3.o: In function `std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > 
> arrow::util::StringBuilder<char const (&) [33]>(char const (&) [33])':
> main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x28):
>  undefined reference to 
> `arrow::util::detail::StringStreamWrapper::StringStreamWrapper()'
> main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x61):
>  undefined reference to 
> `arrow::util::detail::StringStreamWrapper::str[abi:cxx11]()'
> main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x6e):
>  undefined reference to 
> `arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'
> main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA33_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x93):
>  undefined reference to 
> `arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'
> /tmp/ccWYIDP3.o: In function `std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > 
> arrow::util::StringBuilder<char const (&) [23]>(char const (&) [23])':
> main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x28):
>  undefined reference to 
> `arrow::util::detail::StringStreamWrapper::StringStreamWrapper()'
> main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x61):
>  undefined reference to 
> `arrow::util::detail::StringStreamWrapper::str[abi:cxx11]()'
> main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x6e):
>  undefined reference to 
> `arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'
> main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA23_KcEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x93):
>  undefined reference to 
> `arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'
> /tmp/ccWYIDP3.o: In function `arrow::Status arrow::Status::CapacityError<char 
> const (&) [32], long, char const (&) [14], long&>(char const (&) [32], 
> long&&, char const (&) [14], long&)':
> main.cpp:(.text._ZN5arrow6Status13CapacityErrorIJRA32_KclRA14_S2_RlEEES0_DpOT_[_ZN5arrow6Status13CapacityErrorIJRA32_KclRA14_S2_RlEEES0_DpOT_]+0x92):
>  undefined reference to `arrow::Status::Status(arrow::StatusCode, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&)'
> /tmp/ccWYIDP3.o: In function `std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > 
> arrow::util::StringBuilder<char const (&) [32], long, char const (&) [14], 
> long&>(char const (&) [32], long&&, char const (&) [14], long&)':
> main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA32_KclRA14_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA32_KclRA14_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x3a):
>  undefined reference to 
> `arrow::util::detail::StringStreamWrapper::StringStreamWrapper()'
> main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA32_KclRA14_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA32_KclRA14_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0xa9):
>  undefined reference to 
> `arrow::util::detail::StringStreamWrapper::str[abi:cxx11]()'
> main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA32_KclRA14_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA32_KclRA14_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0xb6):
>  undefined reference to 
> `arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'
> main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA32_KclRA14_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA32_KclRA14_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0xdb):
>  undefined reference to 
> `arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'
> /tmp/ccWYIDP3.o:(.rodata._ZTIN5arrow14NumericBuilderINS_9Int64TypeEEE[_ZTIN5arrow14NumericBuilderINS_9Int64TypeEEE]+0x10):
>  undefined reference to `typeinfo for arrow::ArrayBuilder'
> /tmp/ccWYIDP3.o:(.rodata._ZTIN5arrow17BaseBinaryBuilderINS_10BinaryTypeEEE[_ZTIN5arrow17BaseBinaryBuilderINS_10BinaryTypeEEE]+0x10):
>  undefined reference to `typeinfo for arrow::ArrayBuilder'
> /tmp/ccWYIDP3.o: In function 
> `arrow::NumericBuilder<arrow::Int64Type>::Resize(long)':
> main.cpp:(.text._ZN5arrow14NumericBuilderINS_9Int64TypeEE6ResizeEl[_ZN5arrow14NumericBuilderINS_9Int64TypeEE6ResizeEl]+0x128):
>  undefined reference to `arrow::ArrayBuilder::Resize(long)'
> /tmp/ccWYIDP3.o: In function 
> `arrow::NumericBuilder<arrow::Int64Type>::AppendNulls(long)':
> main.cpp:(.text._ZN5arrow14NumericBuilderINS_9Int64TypeEE11AppendNullsEl[_ZN5arrow14NumericBuilderINS_9Int64TypeEE11AppendNullsEl]+0xb6):
>  undefined reference to `arrow::ArrayBuilder::UnsafeSetNull(long)'
> /tmp/ccWYIDP3.o: In function 
> `arrow::NumericBuilder<arrow::Int64Type>::FinishInternal(std::shared_ptr<arrow::ArrayData>*)':
> main.cpp:(.text._ZN5arrow14NumericBuilderINS_9Int64TypeEE14FinishInternalEPSt10shared_ptrINS_9ArrayDataEE[_ZN5arrow14NumericBuilderINS_9Int64TypeEE14FinishInternalEPSt10shared_ptrINS_9ArrayDataEE]+0x226):
>  undefined reference to 
> `arrow::ArrayData::Make(std::shared_ptr<arrow::DataType> const&, long, 
> std::vector<std::shared_ptr<arrow::Buffer>, 
> std::allocator<std::shared_ptr<arrow::Buffer> > >&&, long, long)'
> /tmp/ccWYIDP3.o: In function 
> `arrow::BaseBinaryBuilder<arrow::BinaryType>::Resize(long)':
> main.cpp:(.text._ZN5arrow17BaseBinaryBuilderINS_10BinaryTypeEE6ResizeEl[_ZN5arrow17BaseBinaryBuilderINS_10BinaryTypeEE6ResizeEl]+0x159):
>  undefined reference to `arrow::ArrayBuilder::Resize(long)'
> /tmp/ccWYIDP3.o: In function 
> `arrow::BaseBinaryBuilder<arrow::BinaryType>::Reset()':
> main.cpp:(.text._ZN5arrow17BaseBinaryBuilderINS_10BinaryTypeEE5ResetEv[_ZN5arrow17BaseBinaryBuilderINS_10BinaryTypeEE5ResetEv]+0x14):
>  undefined reference to `arrow::ArrayBuilder::Reset()'
> /tmp/ccWYIDP3.o: In function 
> `arrow::BaseBinaryBuilder<arrow::BinaryType>::FinishInternal(std::shared_ptr<arrow::ArrayData>*)':
> main.cpp:(.text._ZN5arrow17BaseBinaryBuilderINS_10BinaryTypeEE14FinishInternalEPSt10shared_ptrINS_9ArrayDataEE[_ZN5arrow17BaseBinaryBuilderINS_10BinaryTypeEE14FinishInternalEPSt10shared_ptrINS_9ArrayDataEE]+0x33d):
>  undefined reference to 
> `arrow::ArrayData::Make(std::shared_ptr<arrow::DataType> const&, long, 
> std::vector<std::shared_ptr<arrow::Buffer>, 
> std::allocator<std::shared_ptr<arrow::Buffer> > >&&, long, long)'
> /tmp/ccWYIDP3.o: In function `arrow::Status arrow::Status::CapacityError<char 
> const (&) [50], long, char const (&) [22], long&>(char const (&) [50], 
> long&&, char const (&) [22], long&)':
> main.cpp:(.text._ZN5arrow6Status13CapacityErrorIJRA50_KclRA22_S2_RlEEES0_DpOT_[_ZN5arrow6Status13CapacityErrorIJRA50_KclRA22_S2_RlEEES0_DpOT_]+0x92):
>  undefined reference to `arrow::Status::Status(arrow::StatusCode, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&)'
> /tmp/ccWYIDP3.o: In function `std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > 
> arrow::util::StringBuilder<char const (&) [50], long, char const (&) [22], 
> long&>(char const (&) [50], long&&, char const (&) [22], long&)':
> main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA50_KclRA22_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA50_KclRA22_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0x3a):
>  undefined reference to 
> `arrow::util::detail::StringStreamWrapper::StringStreamWrapper()'
> main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA50_KclRA22_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA50_KclRA22_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0xa9):
>  undefined reference to 
> `arrow::util::detail::StringStreamWrapper::str[abi:cxx11]()'
> main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA50_KclRA22_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA50_KclRA22_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0xb6):
>  undefined reference to 
> `arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'
> main.cpp:(.text._ZN5arrow4util13StringBuilderIJRA50_KclRA22_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_[_ZN5arrow4util13StringBuilderIJRA50_KclRA22_S2_RlEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEDpOT_]+0xdb):
>  undefined reference to 
> `arrow::util::detail::StringStreamWrapper::~StringStreamWrapper()'
> collect2: error: ld returned 1 exit status
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to