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