Skip to content

[C++][Gandiva] AlmaLinux 8 CI build failed due to std::filesystem::path usage #38697

@niyue

Description

@niyue

Describe the bug, including details regarding any error messages, version, and platform.

std::filesystem::path has a problem on AlmaLinux 8: verify-rc-source-cpp-linux-almalinux-8-amd64

And we may have to replace the usage of std::filesystem::path with arrow's internal io_util.

https://lists.apache.org/thread/rbfqs9fzy66rv509wjx5j10z5ygqvvnx

https://github.com/ursacomputing/crossbow/actions/runs/6840785973/job/18600423664#step:6:8858

FAILED: release/gandiva-internals-test 
: && /usr/bin/c++ -Wno-noexcept-type  -fdiagnostics-color=always  -Wall -fno-semantic-interposition -msse4.2  -O3 -DNDEBUG -O2 -ftree-vectorize  src/gandiva/CMakeFiles/gandiva-internals-test.dir/bitmap_accumulator_test.cc.o src/gandiva/CMakeFiles/gandiva-internals-test.dir/engine_llvm_test.cc.o src/gandiva/CMakeFiles/gandiva-internals-test.dir/function_registry_test.cc.o src/gandiva/CMakeFiles/gandiva-internals-test.dir/function_signature_test.cc.o src/gandiva/CMakeFiles/gandiva-internals-test.dir/llvm_types_test.cc.o src/gandiva/CMakeFiles/gandiva-internals-test.dir/llvm_generator_test.cc.o src/gandiva/CMakeFiles/gandiva-internals-test.dir/annotator_test.cc.o src/gandiva/CMakeFiles/gandiva-internals-test.dir/tree_expr_test.cc.o src/gandiva/CMakeFiles/gandiva-internals-test.dir/encrypt_utils_test.cc.o src/gandiva/CMakeFiles/gandiva-internals-test.dir/expr_decomposer_test.cc.o src/gandiva/CMakeFiles/gandiva-internals-test.dir/exported_funcs_registry_test.cc.o src/gandiva/CMakeFiles/gandiva-internals-test.dir/expression_registry_test.cc.o src/gandiva/CMakeFiles/gandiva-internals-test.dir/selection_vector_test.cc.o src/gandiva/CMakeFiles/gandiva-internals-test.dir/lru_cache_test.cc.o src/gandiva/CMakeFiles/gandiva-internals-test.dir/to_date_holder_test.cc.o src/gandiva/CMakeFiles/gandiva-internals-test.dir/simple_arena_test.cc.o src/gandiva/CMakeFiles/gandiva-internals-test.dir/regex_functions_holder_test.cc.o src/gandiva/CMakeFiles/gandiva-internals-test.dir/decimal_type_util_test.cc.o src/gandiva/CMakeFiles/gandiva-internals-test.dir/random_generator_holder_test.cc.o src/gandiva/CMakeFiles/gandiva-internals-test.dir/hash_utils_test.cc.o src/gandiva/CMakeFiles/gandiva-internals-test.dir/gdv_function_stubs_test.cc.o src/gandiva/CMakeFiles/gandiva-internals-test.dir/interval_holder_test.cc.o src/gandiva/CMakeFiles/gandiva-internals-test.dir/tests/test_util.cc.o -o release/gandiva-internals-test  -Wl,-rpath,/tmp/arrow-HEAD.tNBaF/cpp-build/release  release/libgandiva.so.1500.0.0  release/libarrow_testing.so.1500.0.0  release/libarrow.so.1500.0.0  /usr/lib64/libcrypto.so  /usr/lib64/libssl.so  brotli_ep/src/brotli_ep-install/lib/libbrotlienc-static.a  brotli_ep/src/brotli_ep-install/lib/libbrotlidec-static.a  brotli_ep/src/brotli_ep-install/lib/libbrotlicommon-static.a  orc_ep-install/lib/liborc.a  protobuf_ep-install/lib/libprotobuf.a  utf8proc_ep-install/lib/libutf8proc.a  re2_ep-install/lib/libre2.a  -ldl  release/libarrow_gmock.so.1.11.0  release/libarrow_gtest_main.so.1.11.0  -ldl  utf8proc_ep-install/lib/libutf8proc.a  /usr/lib64/libcrypto.so  lz4_ep-install/lib/liblz4.a  /usr/lib64/libz.so  snappy_ep/src/snappy_ep-install/lib/libsnappy.a  jemalloc_ep-prefix/src/jemalloc_ep/dist//lib/libjemalloc_pic.a  -lrt  /usr/lib64/libzstd.so  release/libarrow_gtest.so.1.11.0  -pthread  /usr/lib64/libLLVM-15.so && :
src/gandiva/CMakeFiles/gandiva-internals-test.dir/tests/test_util.cc.o: In function `gandiva::GetTestFunctionLLVMIRPath[abi:cxx11]()':
test_util.cc:(.text+0x420): undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()'
test_util.cc:(.text+0x46f): undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()'
test_util.cc:(.text+0x621): undefined reference to `std::filesystem::__cxx11::path::has_root_directory() const'
test_util.cc:(.text+0x7d4): undefined reference to `std::filesystem::__cxx11::path::has_filename() const'
test_util.cc:(.text+0x85a): undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()'
collect2: error: ld returned 1 exit status

Notes

Some background info can be found in this PR: #38677

Component(s)

C++ - Gandiva

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions