-
Notifications
You must be signed in to change notification settings - Fork 4k
Closed
Description
Describe the bug, including details regarding any error messages, version, and platform.
On macOS 14.5, I happened to upgrade my brew version of googletest from 1.14.0 to 1.15.0 and started seeing a test linkage error:
My cmake command is:
cmake .. -GNinja -DARROW_ACERO=ON -DARROW_COMPUTE=ON -DARROW_CSV=ON \
-DARROW_DATASET=ON -DARROW_FILESYSTEM=ON -DARROW_FLIGHT=ON -DARROW_JSON=ON \
-DARROW_PARQUET=ON -DARROW_AZURE=ON -DARROW_S3=ON -DARROW_GCS=ON \
-DARROW_SUBSTRAIT=ON -DARROW_BUILD_TESTS=ON -DARROW_MIMALLOC=OFF \
-DARROW_WITH_BROTLI=ON -DARROW_WITH_BZ2=ON -DARROW_WITH_LZ4=ON \
-DARROW_WITH_SNAPPY=ON -DARROW_WITH_ZLIB=ON -DARROW_WITH_ZSTD=ON \
-DARROW_INSTALL_NAME_RPATH=OFF -DARROW_EXTRA_ERROR_CONTEXT=ON\
-DCMAKE_INSTALL_PREFIX=/Users/bryce/builds/arrow-arm64 -DCMAKE_BUILD_TYPE=Debug \
-DGTest_SOURCE=BUNDLED -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
When compiling, I get two linker errors (both similar to this one):
FAILED: debug/arrow-flight-test
: && /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -fno-aligned-new -Qunused-arguments -fcolor-diagnostics -Wall -Wextra -Wdocumentation -DARROW_WARN_DOCUMENTATION -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 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names src/arrow/flight/CMakeFiles/arrow-flight-test.dir/flight_test.cc.o -o debug/arrow-flight-test -Wl,-rpath,/Users/bryce/src/apache/arrow/cpp/build/debug -Wl,-rpath,/opt/homebrew/lib debug/libarrow_flight_testing.1800.0.0.dylib debug/libarrow_testing.1800.0.0.dylib debug/libarrow_gmockd.1.11.0.dylib debug/libarrow_gtest_maind.1.11.0.dylib debug/libarrow_flight.1800.0.0.dylib /opt/homebrew/lib/libgrpc++.1.62.2.dylib /opt/homebrew/lib/libgrpc.39.0.0.dylib /opt/homebrew/lib/libupb_json_lib.39.0.0.dylib /opt/homebrew/lib/libupb_textformat_lib.39.0.0.dylib /opt/homebrew/lib/libupb_message_lib.39.0.0.dylib /opt/homebrew/lib/libupb_base_lib.39.0.0.dylib /opt/homebrew/lib/libupb_mem_lib.39.0.0.dylib /opt/homebrew/lib/libutf8_range_lib.39.0.0.dylib /opt/homebrew/lib/libre2.11.0.0.dylib /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk/usr/lib/libz.tbd /opt/homebrew/lib/libcares.2.17.2.dylib -lresolv /opt/homebrew/lib/libgpr.39.0.0.dylib /opt/homebrew/opt/openssl@3/lib/libssl.dylib /opt/homebrew/opt/openssl@3/lib/libcrypto.dylib /opt/homebrew/lib/libaddress_sorting.39.0.0.dylib -lm -framework CoreFoundation /opt/homebrew/lib/libprotobuf.27.1.0.dylib /opt/homebrew/lib/libabsl_log_internal_check_op.2401.0.0.dylib /opt/homebrew/lib/libabsl_leak_check.2401.0.0.dylib /opt/homebrew/lib/libabsl_die_if_null.2401.0.0.dylib /opt/homebrew/lib/libabsl_log_internal_conditions.2401.0.0.dylib /opt/homebrew/lib/libabsl_log_internal_message.2401.0.0.dylib /opt/homebrew/lib/libabsl_log_internal_nullguard.2401.0.0.dylib /opt/homebrew/lib/libabsl_examine_stack.2401.0.0.dylib /opt/homebrew/lib/libabsl_log_internal_format.2401.0.0.dylib /opt/homebrew/lib/libabsl_log_internal_proto.2401.0.0.dylib /opt/homebrew/lib/libabsl_log_internal_log_sink_set.2401.0.0.dylib /opt/homebrew/lib/libabsl_log_sink.2401.0.0.dylib /opt/homebrew/lib/libabsl_log_entry.2401.0.0.dylib /opt/homebrew/lib/libabsl_flags_internal.2401.0.0.dylib /opt/homebrew/lib/libabsl_flags_marshalling.2401.0.0.dylib /opt/homebrew/lib/libabsl_flags_reflection.2401.0.0.dylib /opt/homebrew/lib/libabsl_flags_config.2401.0.0.dylib /opt/homebrew/lib/libabsl_flags_program_name.2401.0.0.dylib /opt/homebrew/lib/libabsl_flags_private_handle_accessor.2401.0.0.dylib /opt/homebrew/lib/libabsl_flags_commandlineflag.2401.0.0.dylib /opt/homebrew/lib/libabsl_flags_commandlineflag_internal.2401.0.0.dylib /opt/homebrew/lib/libabsl_log_initialize.2401.0.0.dylib /opt/homebrew/lib/libabsl_log_internal_globals.2401.0.0.dylib /opt/homebrew/lib/libabsl_log_globals.2401.0.0.dylib /opt/homebrew/lib/libabsl_vlog_config_internal.2401.0.0.dylib /opt/homebrew/lib/libabsl_log_internal_fnmatch.2401.0.0.dylib /opt/homebrew/lib/libabsl_raw_hash_set.2401.0.0.dylib /opt/homebrew/lib/libabsl_hash.2401.0.0.dylib /opt/homebrew/lib/libabsl_city.2401.0.0.dylib /opt/homebrew/lib/libabsl_low_level_hash.2401.0.0.dylib /opt/homebrew/lib/libabsl_hashtablez_sampler.2401.0.0.dylib /opt/homebrew/lib/libabsl_random_distributions.2401.0.0.dylib /opt/homebrew/lib/libabsl_random_seed_sequences.2401.0.0.dylib /opt/homebrew/lib/libabsl_random_internal_pool_urbg.2401.0.0.dylib /opt/homebrew/lib/libabsl_random_internal_randen.2401.0.0.dylib /opt/homebrew/lib/libabsl_random_internal_randen_hwaes.2401.0.0.dylib /opt/homebrew/lib/libabsl_random_internal_randen_hwaes_impl.2401.0.0.dylib /opt/homebrew/lib/libabsl_random_internal_randen_slow.2401.0.0.dylib /opt/homebrew/lib/libabsl_random_internal_platform.2401.0.0.dylib /opt/homebrew/lib/libabsl_random_internal_seed_material.2401.0.0.dylib /opt/homebrew/lib/libabsl_random_seed_gen_exception.2401.0.0.dylib /opt/homebrew/lib/libabsl_statusor.2401.0.0.dylib /opt/homebrew/lib/libabsl_status.2401.0.0.dylib /opt/homebrew/lib/libabsl_cord.2401.0.0.dylib /opt/homebrew/lib/libabsl_cordz_info.2401.0.0.dylib /opt/homebrew/lib/libabsl_cord_internal.2401.0.0.dylib /opt/homebrew/lib/libabsl_cordz_functions.2401.0.0.dylib /opt/homebrew/lib/libabsl_exponential_biased.2401.0.0.dylib /opt/homebrew/lib/libabsl_cordz_handle.2401.0.0.dylib /opt/homebrew/lib/libabsl_crc_cord_state.2401.0.0.dylib /opt/homebrew/lib/libabsl_crc32c.2401.0.0.dylib /opt/homebrew/lib/libabsl_crc_internal.2401.0.0.dylib /opt/homebrew/lib/libabsl_crc_cpu_detect.2401.0.0.dylib /opt/homebrew/lib/libabsl_bad_optional_access.2401.0.0.dylib /opt/homebrew/lib/libabsl_strerror.2401.0.0.dylib /opt/homebrew/lib/libabsl_str_format_internal.2401.0.0.dylib /opt/homebrew/lib/libabsl_synchronization.2401.0.0.dylib /opt/homebrew/lib/libabsl_stacktrace.2401.0.0.dylib /opt/homebrew/lib/libabsl_symbolize.2401.0.0.dylib /opt/homebrew/lib/libabsl_debugging_internal.2401.0.0.dylib /opt/homebrew/lib/libabsl_demangle_internal.2401.0.0.dylib /opt/homebrew/lib/libabsl_graphcycles_internal.2401.0.0.dylib /opt/homebrew/lib/libabsl_kernel_timeout_internal.2401.0.0.dylib /opt/homebrew/lib/libabsl_malloc_internal.2401.0.0.dylib /opt/homebrew/lib/libabsl_time.2401.0.0.dylib /opt/homebrew/lib/libabsl_strings.2401.0.0.dylib /opt/homebrew/lib/libabsl_strings_internal.2401.0.0.dylib /opt/homebrew/lib/libabsl_string_view.2401.0.0.dylib /opt/homebrew/lib/libabsl_base.2401.0.0.dylib /opt/homebrew/lib/libabsl_spinlock_wait.2401.0.0.dylib /opt/homebrew/lib/libabsl_throw_delegate.2401.0.0.dylib /opt/homebrew/lib/libabsl_int128.2401.0.0.dylib /opt/homebrew/lib/libabsl_civil_time.2401.0.0.dylib /opt/homebrew/lib/libabsl_time_zone.2401.0.0.dylib -Wl,-framework,CoreFoundation /opt/homebrew/lib/libabsl_bad_variant_access.2401.0.0.dylib /opt/homebrew/lib/libabsl_raw_logging_internal.2401.0.0.dylib /opt/homebrew/lib/libabsl_log_severity.2401.0.0.dylib debug/libarrow.1800.0.0.dylib /opt/homebrew/lib/libboost_filesystem-mt.dylib /opt/homebrew/lib/libboost_atomic-mt.dylib /opt/homebrew/lib/libboost_system-mt.dylib debug/libarrow_gtestd.1.11.0.dylib && :
Undefined symbols for architecture arm64:
"testing::internal::MakeAndRegisterTestInfo(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, char const*, char const*, char const*, testing::internal::CodeLocation, void const*, void (*)(), void (*)(), testing::internal::TestFactoryBase*)", referenced from:
___cxx_global_var_init.1 in flight_test.cc.o
___cxx_global_var_init.4 in flight_test.cc.o
___cxx_global_var_init.6 in flight_test.cc.o
___cxx_global_var_init.8 in flight_test.cc.o
___cxx_global_var_init.10 in flight_test.cc.o
___cxx_global_var_init.12 in flight_test.cc.o
___cxx_global_var_init.15 in flight_test.cc.o
...
ld: symbol(s) not found for architecture arm64
Removing brew googletest fixed the issue. googletest 1.15.0 came out last week so I wonder if this is something others will run into?
Component(s)
C++
zanmato1984vibhatha