apache / arrow

Apache Arrow is a multi-language toolbox for accelerated data interchange and in-memory processing
https://arrow.apache.org/
Apache License 2.0
13.88k stars 3.38k forks source link

[C++] re2_SOURCE=BUNDLED on macOS failed #37716

Open kou opened 9 months ago

kou commented 9 months ago

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

Note that Homebrew's re2 formula is installed.

FAILED: debug/gandiva-internals-test 
: && /Library/Developer/CommandLineTools/usr/bin/c++ -fno-aligned-new  -Qunused-arguments -fcolor-diagnostics  -Wall -Wextra -Wdocumentation -Wshorten-64-to-32 -Wno-missing-braces -Wno-unused-parameter -Wno-constant-logical-operand -Wno-return-stack-address -Wdate-time -Wno-unknown-warning-option -Wno-pass-failed -march=armv8-a  -g -Werror -O0 -ggdb  -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names  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/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 -o debug/gandiva-internals-test  -Wl,-rpath,/Users/kou/work/cpp/arrow/cpp.build/debug -Wl,-rpath,/opt/homebrew/lib -Wl,-rpath,/Users/kou/work/cpp/arrow/cpp.build/lib -Wl,-rpath,/opt/homebrew/opt/llvm/lib  debug/libgandiva.1400.0.0.dylib  debug/libarrow_testing.1400.0.0.dylib  debug/libarrow.1400.0.0.dylib  google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_storage.a  /opt/homebrew/opt/openssl@3/lib/libcrypto.dylib  /opt/homebrew/opt/openssl@3/lib/libssl.dylib  /opt/homebrew/Cellar/brotli/1.1.0/lib/libbrotlienc.dylib  /opt/homebrew/Cellar/brotli/1.1.0/lib/libbrotlidec.dylib  /opt/homebrew/Cellar/brotli/1.1.0/lib/libbrotlicommon.dylib  orc_ep-install/lib/liborc.a  /opt/homebrew/lib/libprotobuf.dylib  /opt/homebrew/lib/libaws-cpp-sdk-config.dylib  /opt/homebrew/lib/libaws-cpp-sdk-transfer.dylib  /opt/homebrew/lib/libaws-cpp-sdk-identity-management.dylib  /opt/homebrew/lib/libaws-cpp-sdk-cognito-identity.dylib  /opt/homebrew/lib/libaws-cpp-sdk-sts.dylib  /opt/homebrew/lib/libaws-cpp-sdk-s3.dylib  /opt/homebrew/lib/libaws-cpp-sdk-core.dylib  debug/libazure-storage-files-datalake.a  debug/libazure-storage-common.a  debug/libazure-storage-blobs.a  debug/libazure-identity.a  debug/libazure-core.a  /opt/homebrew/lib/libutf8proc.dylib  re2_ep-install/lib/libre2.a  lib/libarrow_gtest_maind.1.11.0.dylib  lib/libarrow_gmockd.1.11.0.dylib  /opt/homebrew/lib/libutf8proc.dylib  google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_rest_internal.a  google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_common.a  /opt/homebrew/lib/libabsl_cord.2308.0.0.dylib  /opt/homebrew/lib/libabsl_cordz_info.2308.0.0.dylib  /opt/homebrew/lib/libabsl_cord_internal.2308.0.0.dylib  /opt/homebrew/lib/libabsl_cordz_functions.2308.0.0.dylib  /opt/homebrew/lib/libabsl_exponential_biased.2308.0.0.dylib  /opt/homebrew/lib/libabsl_cordz_handle.2308.0.0.dylib  /opt/homebrew/lib/libabsl_crc_cord_state.2308.0.0.dylib  /opt/homebrew/lib/libabsl_crc32c.2308.0.0.dylib  /opt/homebrew/lib/libabsl_crc_internal.2308.0.0.dylib  /opt/homebrew/lib/libabsl_crc_cpu_detect.2308.0.0.dylib  crc32c_ep-install/lib/libcrc32c.a  /Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/lib/libz.tbd  /opt/homebrew/Cellar/lz4/1.9.4/lib/liblz4.dylib  /opt/homebrew/lib/libabsl_log_internal_check_op.2308.0.0.dylib  /opt/homebrew/lib/libabsl_log_internal_message.2308.0.0.dylib  /opt/homebrew/lib/libabsl_log_internal_nullguard.2308.0.0.dylib  /opt/homebrew/lib/libabsl_examine_stack.2308.0.0.dylib  /opt/homebrew/lib/libabsl_log_internal_format.2308.0.0.dylib  /opt/homebrew/lib/libabsl_str_format_internal.2308.0.0.dylib  /opt/homebrew/lib/libabsl_log_internal_proto.2308.0.0.dylib  /opt/homebrew/lib/libabsl_log_internal_log_sink_set.2308.0.0.dylib  /opt/homebrew/lib/libabsl_synchronization.2308.0.0.dylib  /opt/homebrew/lib/libabsl_stacktrace.2308.0.0.dylib  /opt/homebrew/lib/libabsl_graphcycles_internal.2308.0.0.dylib  /opt/homebrew/lib/libabsl_kernel_timeout_internal.2308.0.0.dylib  /opt/homebrew/lib/libabsl_symbolize.2308.0.0.dylib  /opt/homebrew/lib/libabsl_debugging_internal.2308.0.0.dylib  /opt/homebrew/lib/libabsl_malloc_internal.2308.0.0.dylib  /opt/homebrew/lib/libabsl_demangle_internal.2308.0.0.dylib  /opt/homebrew/lib/libabsl_log_internal_globals.2308.0.0.dylib  /opt/homebrew/lib/libabsl_log_globals.2308.0.0.dylib  /opt/homebrew/lib/libabsl_hash.2308.0.0.dylib  /opt/homebrew/lib/libabsl_bad_variant_access.2308.0.0.dylib  /opt/homebrew/lib/libabsl_bad_optional_access.2308.0.0.dylib  /opt/homebrew/lib/libabsl_city.2308.0.0.dylib  /opt/homebrew/lib/libabsl_low_level_hash.2308.0.0.dylib  /opt/homebrew/lib/libabsl_log_sink.2308.0.0.dylib  /opt/homebrew/lib/libabsl_log_entry.2308.0.0.dylib  /opt/homebrew/lib/libabsl_time.2308.0.0.dylib  /opt/homebrew/lib/libabsl_strings.2308.0.0.dylib  /opt/homebrew/lib/libabsl_string_view.2308.0.0.dylib  /opt/homebrew/lib/libabsl_strings_internal.2308.0.0.dylib  /opt/homebrew/lib/libabsl_base.2308.0.0.dylib  /opt/homebrew/lib/libabsl_spinlock_wait.2308.0.0.dylib  /opt/homebrew/lib/libabsl_int128.2308.0.0.dylib  /opt/homebrew/lib/libabsl_civil_time.2308.0.0.dylib  /opt/homebrew/lib/libabsl_time_zone.2308.0.0.dylib  -Wl,-framework,CoreFoundation  /opt/homebrew/lib/libabsl_throw_delegate.2308.0.0.dylib  /opt/homebrew/lib/libabsl_raw_logging_internal.2308.0.0.dylib  /opt/homebrew/lib/libabsl_log_severity.2308.0.0.dylib  /opt/homebrew/lib/libabsl_strerror.2308.0.0.dylib  /opt/homebrew/lib/libaws-crt-cpp.dylib  /opt/homebrew/lib/libaws-c-mqtt.1.0.0.dylib  /opt/homebrew/lib/libaws-c-event-stream.1.0.0.dylib  /opt/homebrew/lib/libaws-c-s3.1.0.0.dylib  /opt/homebrew/lib/libaws-c-auth.1.0.0.dylib  /opt/homebrew/lib/libaws-c-http.1.0.0.dylib  /opt/homebrew/lib/libaws-c-io.1.0.0.dylib  /opt/homebrew/lib/libaws-c-compression.1.0.0.dylib  /opt/homebrew/lib/libaws-c-cal.1.0.0.dylib  -framework Security  /opt/homebrew/lib/libaws-c-sdkutils.1.0.0.dylib  /opt/homebrew/lib/libaws-checksums.1.0.0.dylib  /opt/homebrew/lib/libaws-c-common.1.0.0.dylib  -pthread  -lpthread  -framework CoreFoundation  debug/libazure-storage-common.a  /Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/lib/libxml2.tbd  debug/libazure-core.a  /opt/homebrew/opt/openssl@3/lib/libssl.dylib  /opt/homebrew/opt/openssl@3/lib/libcrypto.dylib  /Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/lib/libcurl.tbd  jemalloc_ep-prefix/src/jemalloc_ep/dist//lib/libjemalloc_pic.a  mimalloc_ep/src/mimalloc_ep/lib/mimalloc-2.0/libmimalloc-debug.a  /opt/homebrew/lib/libzstd.1.5.5.dylib  /opt/homebrew/lib/libsnappy.1.1.10.dylib  lib/libarrow_gtestd.1.11.0.dylib  /opt/homebrew/opt/llvm/lib/libLLVM.dylib && :
Undefined symbols for architecture arm64:
  "re2::RE2::FullMatchN(std::__1::basic_string_view<char, std::__1::char_traits<char>>, re2::RE2 const&, re2::RE2::Arg const* const*, int)", referenced from:
      bool re2::RE2::FullMatch<>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, re2::RE2 const&) in regex_functions_holder_test.cc.o
  "re2::RE2::GlobalReplace(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>*, re2::RE2 const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>)", referenced from:
      gandiva::ReplaceHolder::operator()(gandiva::ExecutionContext*, char const*, int, char const*, int, int*) in regex_functions_holder_test.cc.o
ld: symbol(s) not found for architecture arm64

36379 (system library's header not bundled one's header is used) is a similar problem.

Component(s)

C++

aditi-pandit commented 8 months ago

@assignUser : Faced this issue building Velox as well

Undefined symbols for architecture arm64:
  "re2::RE2::FullMatchN(std::__1::basic_string_view<char, std::__1::char_traits<char>>, re2::RE2 const&, re2::RE2::Arg const* const*, int)", referenced from:
      bool re2::RE2::FullMatch<>(std::__1::basic_string_view<char, std::__1::char_traits<char>>, re2::RE2 const&) in libvelox_exec.a(HashJoinBridge.cpp.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)