Hi, I’m using the master version of Arrow. In order to test my Arrow2ORC feature I got a new copy of Arrow and tried to make it with debug on. It turns out that one ORC dependency, libhdfspp_static.a, can not be found which caused linking of arrow-orc-adapter-test to be impossible.
Here is my command: cmake -DARROW_WITH_UTF8PROC=OFF -DCMAKE_BUILD_TYPE=Debug -DARROW_BUILD_TESTS=ON -DARROW_ORC=ON -DARROW_PYTHON=ON -DORC_ROOT=/usr/local -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl ../.. Here is the error message I got: [ 93%] Linking CXX executable ../../../../debug/arrow-orc-adapter-test Undefined symbols for architecture x86_64: "hdfs::FileSystem::New(hdfs::IoService*&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, hdfs::Options const&)", referenced from: orc::HdfsFileInputStream::HdfsFileInputStream(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in liborc.a(OrcHdfsFile.cc.o) "hdfs::ConfigParser::LoadDefaultResources()", referenced from: orc::HdfsFileInputStream::HdfsFileInputStream(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in liborc.a(OrcHdfsFile.cc.o) "hdfs::ConfigParser::ConfigParser()", referenced from: orc::HdfsFileInputStream::HdfsFileInputStream(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in liborc.a(OrcHdfsFile.cc.o) "hdfs::ConfigParser::~ConfigParser()", referenced from: orc::HdfsFileInputStream::HdfsFileInputStream(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in liborc.a(OrcHdfsFile.cc.o) "hdfs::URI::parse_from_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from: … … "hdfs::Status::ToString() const", referenced from: orc::HdfsFileInputStream::read(void*, unsigned long long, unsigned long long) in liborc.a(OrcHdfsFile.cc.o) orc::HdfsFileInputStream::HdfsFileInputStream(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in liborc.a(OrcHdfsFile.cc.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: *** [debug/arrow-orc-adapter-test] Error 1 make[1]: *** [src/arrow/adapters/orc/CMakeFiles/arrow-orc-adapter-test.dir/all] Error 2 make: *** [all] Error 2 I would like to know whether it is impossible to have a debug build of Apache Arrow with ORC without editing some CMakeLists files at least on macOS Catalina. If that’s the case then we have a bug. Thanks, Ying