Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[C++] Bundled ORC reports Abseil related link errors on macOS #37116

Closed
kou opened this issue Aug 10, 2023 · 0 comments · Fixed by #37117
Closed

[C++] Bundled ORC reports Abseil related link errors on macOS #37116

kou opened this issue Aug 10, 2023 · 0 comments · Fixed by #37117
Assignees
Milestone

Comments

@kou
Copy link
Member

kou commented Aug 10, 2023

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

This may be related to Abseil/Protobuf version. Both of them are installed by Homebrew in this case.

[84/161] Linking CXX executable debug/arrow-orc-adapter-test
FAILED: debug/arrow-orc-adapter-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.1.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names  src/arrow/adapters/orc/CMakeFiles/arrow-orc-adapter-test.dir/adapter_test.cc.o -o debug/arrow-orc-adapter-test -F/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk/System/Library/Frameworks -Wl,-rpath,/Users/kou/work/cpp/arrow/cpp.build/debug -Wl,-rpath,/opt/homebrew/lib  orc_ep-install/lib/liborc.a  debug/libarrow_testing.1300.0.0.dylib  debug/libarrow.1300.0.0.dylib  googletest_ep-prefix/lib/libgtest_maind.dylib  googletest_ep-prefix/lib/libgtestd.dylib  orc_ep-install/lib/liborc.a  /opt/homebrew/Cellar/lz4/1.9.4/lib/liblz4.dylib  /opt/homebrew/lib/libzstd.1.5.5.dylib  /opt/homebrew/lib/libsnappy.1.1.10.dylib  google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_storage.a  /Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/lib/libz.tbd  google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_rest_internal.a  google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_common.a  crc32c_ep-install/lib/libcrc32c.a  /Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/lib/libcurl.tbd  /opt/homebrew/opt/openssl@3/lib/libssl.dylib  /opt/homebrew/opt/openssl@3/lib/libcrypto.dylib  /opt/homebrew/Cellar/brotli/1.0.9/lib/libbrotlienc.dylib  /opt/homebrew/Cellar/brotli/1.0.9/lib/libbrotlidec.dylib  /opt/homebrew/Cellar/brotli/1.0.9/lib/libbrotlicommon.dylib  /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  /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  /opt/homebrew/lib/libutf8proc.dylib  /opt/homebrew/lib/libre2.11.0.0.dylib  /opt/homebrew/lib/libabsl_flags.2301.0.0.dylib  /opt/homebrew/lib/libabsl_flags_internal.2301.0.0.dylib  /opt/homebrew/lib/libabsl_flags_marshalling.2301.0.0.dylib  /opt/homebrew/lib/libabsl_str_format_internal.2301.0.0.dylib  /opt/homebrew/lib/libabsl_flags_reflection.2301.0.0.dylib  /opt/homebrew/lib/libabsl_flags_config.2301.0.0.dylib  /opt/homebrew/lib/libabsl_flags_program_name.2301.0.0.dylib  /opt/homebrew/lib/libabsl_flags_private_handle_accessor.2301.0.0.dylib  /opt/homebrew/lib/libabsl_flags_commandlineflag.2301.0.0.dylib  /opt/homebrew/lib/libabsl_flags_commandlineflag_internal.2301.0.0.dylib  /opt/homebrew/lib/libabsl_cord.2301.0.0.dylib  /opt/homebrew/lib/libabsl_cordz_info.2301.0.0.dylib  /opt/homebrew/lib/libabsl_cord_internal.2301.0.0.dylib  /opt/homebrew/lib/libabsl_cordz_functions.2301.0.0.dylib  /opt/homebrew/lib/libabsl_cordz_handle.2301.0.0.dylib  /opt/homebrew/lib/libabsl_crc_cord_state.2301.0.0.dylib  /opt/homebrew/lib/libabsl_crc32c.2301.0.0.dylib  /opt/homebrew/lib/libabsl_crc_internal.2301.0.0.dylib  /opt/homebrew/lib/libabsl_crc_cpu_detect.2301.0.0.dylib  /opt/homebrew/lib/libabsl_hash.2301.0.0.dylib  /opt/homebrew/lib/libabsl_bad_variant_access.2301.0.0.dylib  /opt/homebrew/lib/libabsl_city.2301.0.0.dylib  /opt/homebrew/lib/libabsl_low_level_hash.2301.0.0.dylib  /opt/homebrew/lib/libabsl_raw_hash_set.2301.0.0.dylib  /opt/homebrew/lib/libabsl_hashtablez_sampler.2301.0.0.dylib  /opt/homebrew/lib/libabsl_exponential_biased.2301.0.0.dylib  /opt/homebrew/lib/libabsl_bad_optional_access.2301.0.0.dylib  /opt/homebrew/lib/libabsl_synchronization.2301.0.0.dylib  /opt/homebrew/lib/libabsl_graphcycles_internal.2301.0.0.dylib  /opt/homebrew/lib/libabsl_time.2301.0.0.dylib  /opt/homebrew/lib/libabsl_civil_time.2301.0.0.dylib  /opt/homebrew/lib/libabsl_time_zone.2301.0.0.dylib  -Xlinker -framework -Xlinker CoreFoundation  /opt/homebrew/lib/libabsl_stacktrace.2301.0.0.dylib  /opt/homebrew/lib/libabsl_symbolize.2301.0.0.dylib  /opt/homebrew/lib/libabsl_strings.2301.0.0.dylib  /opt/homebrew/lib/libabsl_strings_internal.2301.0.0.dylib  /opt/homebrew/lib/libabsl_int128.2301.0.0.dylib  /opt/homebrew/lib/libabsl_throw_delegate.2301.0.0.dylib  /opt/homebrew/lib/libabsl_malloc_internal.2301.0.0.dylib  /opt/homebrew/lib/libabsl_debugging_internal.2301.0.0.dylib  /opt/homebrew/lib/libabsl_demangle_internal.2301.0.0.dylib  /opt/homebrew/lib/libabsl_base.2301.0.0.dylib  /opt/homebrew/lib/libabsl_raw_logging_internal.2301.0.0.dylib  /opt/homebrew/lib/libabsl_log_severity.2301.0.0.dylib  /opt/homebrew/lib/libabsl_spinlock_wait.2301.0.0.dylib  jemalloc_ep-prefix/src/jemalloc_ep/dist//lib/libjemalloc_pic.a  mimalloc_ep/src/mimalloc_ep/lib/mimalloc-2.0/libmimalloc-debug.a && :
Undefined symbols for architecture arm64:
  "absl::lts_20230125::log_internal::LogMessage::CopyToEncodedBuffer(std::__1::basic_string_view<char, std::__1::char_traits<char> >, absl::lts_20230125::log_internal::LogMessage::StringType)", referenced from:
      absl::lts_20230125::log_internal::LogMessage& absl::lts_20230125::log_internal::LogMessage::operator<<<48>(char const (&) [48]) in liborc.a(Writer.cc.o)
      absl::lts_20230125::log_internal::LogMessage& absl::lts_20230125::log_internal::LogMessage::operator<<<59>(char const (&) [59]) in liborc.a(Writer.cc.o)
      absl::lts_20230125::log_internal::LogMessage& absl::lts_20230125::log_internal::LogMessage::operator<<<19>(char const (&) [19]) in liborc.a(Writer.cc.o)
      absl::lts_20230125::log_internal::LogMessage& absl::lts_20230125::log_internal::LogMessage::operator<<<48>(char const (&) [48]) in liborc.a(ColumnWriter.cc.o)
      absl::lts_20230125::log_internal::LogMessage& absl::lts_20230125::log_internal::LogMessage::operator<<<59>(char const (&) [59]) in liborc.a(ColumnWriter.cc.o)
      absl::lts_20230125::log_internal::LogMessage& absl::lts_20230125::log_internal::LogMessage::operator<<<19>(char const (&) [19]) in liborc.a(ColumnWriter.cc.o)
      absl::lts_20230125::log_internal::LogMessage& absl::lts_20230125::log_internal::LogMessage::operator<<<48>(char const (&) [48]) in liborc.a(orc-proto-wrapper.cc.o)
      ...
  "absl::lts_20230125::log_internal::LogMessage& absl::lts_20230125::log_internal::LogMessage::operator<<<unsigned long, 0>(unsigned long const&)", referenced from:
      absl::lts_20230125::log_internal::LogMessage::operator<<(unsigned long) in liborc.a(Writer.cc.o)
      absl::lts_20230125::log_internal::LogMessage::operator<<(unsigned long) in liborc.a(ColumnWriter.cc.o)
      absl::lts_20230125::log_internal::LogMessage::operator<<(unsigned long) in liborc.a(orc-proto-wrapper.cc.o)
      absl::lts_20230125::log_internal::LogMessage::operator<<(unsigned long) in liborc.a(Statistics.cc.o)
  "absl::lts_20230125::log_internal::LogMessageFatal::LogMessageFatal(char const*, int, std::__1::basic_string_view<char, std::__1::char_traits<char> >)", referenced from:
      google::protobuf::RepeatedField<unsigned int>::GrowNoAnnotate(int, int) in liborc.a(Writer.cc.o)
      char* google::protobuf::Arena::CreateArray<char>(google::protobuf::Arena*, unsigned long) in liborc.a(Writer.cc.o)
      google::protobuf::RepeatedField<unsigned int>::elements() const in liborc.a(Writer.cc.o)
      google::protobuf::internal::ArenaAlignAs(unsigned long) in liborc.a(Writer.cc.o)
      void google::protobuf::internal::RepeatedPtrFieldBase::Clear<google::protobuf::RepeatedPtrField<orc::proto::ColumnStatistics>::TypeHandler>() in liborc.a(Writer.cc.o)
      void google::protobuf::internal::RepeatedPtrFieldBase::ClearNonEmpty<google::protobuf::RepeatedPtrField<orc::proto::ColumnStatistics>::TypeHandler>() in liborc.a(Writer.cc.o)
      google::protobuf::RepeatedPtrField<orc::proto::Type>::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Mutable<google::protobuf::RepeatedPtrField<orc::proto::Type>::TypeHandler>(int) in liborc.a(Writer.cc.o)
      ...
  "absl::lts_20230125::log_internal::LogMessageFatal::~LogMessageFatal()", referenced from:
      google::protobuf::RepeatedField<unsigned int>::GrowNoAnnotate(int, int) in liborc.a(Writer.cc.o)
      char* google::protobuf::Arena::CreateArray<char>(google::protobuf::Arena*, unsigned long) in liborc.a(Writer.cc.o)
      google::protobuf::RepeatedField<unsigned int>::elements() const in liborc.a(Writer.cc.o)
      google::protobuf::internal::ArenaAlignAs(unsigned long) in liborc.a(Writer.cc.o)
      void google::protobuf::internal::RepeatedPtrFieldBase::Clear<google::protobuf::RepeatedPtrField<orc::proto::ColumnStatistics>::TypeHandler>() in liborc.a(Writer.cc.o)
      void google::protobuf::internal::RepeatedPtrFieldBase::ClearNonEmpty<google::protobuf::RepeatedPtrField<orc::proto::ColumnStatistics>::TypeHandler>() in liborc.a(Writer.cc.o)
      google::protobuf::RepeatedPtrField<orc::proto::Type>::TypeHandler::Type* google::protobuf::internal::RepeatedPtrFieldBase::Mutable<google::protobuf::RepeatedPtrField<orc::proto::Type>::TypeHandler>(int) in liborc.a(Writer.cc.o)
      ...
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::MakeCheckOpString<void const*, void const*>(void const*, void const*, char const*)", referenced from:
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::Check_NEImpl<orc::proto::IntegerStatistics const*, orc::proto::IntegerStatistics*>(orc::proto::IntegerStatistics const* const&, orc::proto::IntegerStatistics* const&, char const*) in liborc.a(orc-proto-wrapper.cc.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::Check_NEImpl<orc::proto::DoubleStatistics const*, orc::proto::DoubleStatistics*>(orc::proto::DoubleStatistics const* const&, orc::proto::DoubleStatistics* const&, char const*) in liborc.a(orc-proto-wrapper.cc.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::Check_NEImpl<orc::proto::StringStatistics const*, orc::proto::StringStatistics*>(orc::proto::StringStatistics const* const&, orc::proto::StringStatistics* const&, char const*) in liborc.a(orc-proto-wrapper.cc.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::Check_NEImpl<orc::proto::BucketStatistics const*, orc::proto::BucketStatistics*>(orc::proto::BucketStatistics const* const&, orc::proto::BucketStatistics* const&, char const*) in liborc.a(orc-proto-wrapper.cc.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::Check_NEImpl<orc::proto::DecimalStatistics const*, orc::proto::DecimalStatistics*>(orc::proto::DecimalStatistics const* const&, orc::proto::DecimalStatistics* const&, char const*) in liborc.a(orc-proto-wrapper.cc.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::Check_NEImpl<orc::proto::DateStatistics const*, orc::proto::DateStatistics*>(orc::proto::DateStatistics const* const&, orc::proto::DateStatistics* const&, char const*) in liborc.a(orc-proto-wrapper.cc.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::Check_NEImpl<orc::proto::TimestampStatistics const*, orc::proto::TimestampStatistics*>(orc::proto::TimestampStatistics const* const&, orc::proto::TimestampStatistics* const&, char const*) in liborc.a(orc-proto-wrapper.cc.o)
      ...
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::MakeCheckOpString<long long, long long>(long long, long long, char const*)", referenced from:
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::Check_GTImpl<int, int>(int const&, int const&, char const*) in liborc.a(Writer.cc.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::Check_GEImpl<int, int>(int const&, int const&, char const*) in liborc.a(Writer.cc.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::Check_LTImpl<int, int>(int const&, int const&, char const*) in liborc.a(Writer.cc.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::Check_GEImpl<int, int>(int const&, int const&, char const*) in liborc.a(TypeImpl.cc.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::Check_LTImpl<int, int>(int const&, int const&, char const*) in liborc.a(TypeImpl.cc.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::Check_GTImpl<int, int>(int const&, int const&, char const*) in liborc.a(TypeImpl.cc.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::Check_GEImpl<int, int>(int const&, int const&, char const*) in liborc.a(Reader.cc.o)
      ...
  "std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::MakeCheckOpString<unsigned long long, unsigned long long>(unsigned long long, unsigned long long, char const*)", referenced from:
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::Check_LEImpl<unsigned long, unsigned long>(unsigned long const&, unsigned long const&, char const*) in liborc.a(Writer.cc.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::Check_LEImpl<unsigned long, unsigned long>(unsigned long const&, unsigned long const&, char const*) in liborc.a(ColumnWriter.cc.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::Check_LEImpl<unsigned long, unsigned long>(unsigned long const&, unsigned long const&, char const*) in liborc.a(orc-proto-wrapper.cc.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::Check_LEImpl<unsigned long, unsigned long>(unsigned long const&, unsigned long const&, char const*) in liborc.a(Statistics.cc.o)
  "absl::lts_20230125::log_internal::CheckOpMessageBuilder::ForVar2()", referenced from:
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::MakeCheckOpString<unsigned long long, long long>(unsigned long long, long long, char const*) in liborc.a(Writer.cc.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::MakeCheckOpString<unsigned long long, long long>(unsigned long long, long long, char const*) in liborc.a(ColumnWriter.cc.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::MakeCheckOpString<unsigned long long, long long>(unsigned long long, long long, char const*) in liborc.a(orc-proto-wrapper.cc.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::MakeCheckOpString<unsigned long long, long long>(unsigned long long, long long, char const*) in liborc.a(Statistics.cc.o)
  "absl::lts_20230125::log_internal::CheckOpMessageBuilder::NewString()", referenced from:
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::MakeCheckOpString<unsigned long long, long long>(unsigned long long, long long, char const*) in liborc.a(Writer.cc.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::MakeCheckOpString<unsigned long long, long long>(unsigned long long, long long, char const*) in liborc.a(ColumnWriter.cc.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::MakeCheckOpString<unsigned long long, long long>(unsigned long long, long long, char const*) in liborc.a(orc-proto-wrapper.cc.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::MakeCheckOpString<unsigned long long, long long>(unsigned long long, long long, char const*) in liborc.a(Statistics.cc.o)
  "absl::lts_20230125::log_internal::CheckOpMessageBuilder::CheckOpMessageBuilder(char const*)", referenced from:
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::MakeCheckOpString<unsigned long long, long long>(unsigned long long, long long, char const*) in liborc.a(Writer.cc.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::MakeCheckOpString<unsigned long long, long long>(unsigned long long, long long, char const*) in liborc.a(ColumnWriter.cc.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::MakeCheckOpString<unsigned long long, long long>(unsigned long long, long long, char const*) in liborc.a(orc-proto-wrapper.cc.o)
      std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* absl::lts_20230125::log_internal::MakeCheckOpString<unsigned long long, long long>(unsigned long long, long long, char const*) in liborc.a(Statistics.cc.o)
ld: symbol(s) not found for architecture arm64

Component(s)

C++

@kou kou added the Type: bug label Aug 10, 2023
kou added a commit to kou/arrow that referenced this issue Aug 10, 2023
…SL_DEHCK*()

Recent protoc generates files that use ABSL_DCHECK*(). At least
3.21.12 doesn't use ABSL_DCHECK*() and 23.4 uses ABSL_DCHECK*().

If ABSL_DCHECK*() are used, we need to link to
absl::log_internal_check_op.
kou added a commit that referenced this issue Aug 11, 2023
…ECK*() (#37117)

### Rationale for this change

Recent protoc generates files that use ABSL_DCHECK*(). At least 3.21.12 doesn't use ABSL_DCHECK*() and 23.4 uses ABSL_DCHECK*().

If ABSL_DCHECK*() are used, we need to link to absl::log_internal_check_op.

### What changes are included in this PR?

Link to absl::log_internal_check_op if possible.

### Are these changes tested?

Yes.

### Are there any user-facing changes?

No.
* Closes: #37116

Authored-by: Sutou Kouhei <kou@clear-code.com>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
@kou kou added this to the 14.0.0 milestone Aug 11, 2023
loicalleyne pushed a commit to loicalleyne/arrow that referenced this issue Nov 13, 2023
…SL_DCHECK*() (apache#37117)

### Rationale for this change

Recent protoc generates files that use ABSL_DCHECK*(). At least 3.21.12 doesn't use ABSL_DCHECK*() and 23.4 uses ABSL_DCHECK*().

If ABSL_DCHECK*() are used, we need to link to absl::log_internal_check_op.

### What changes are included in this PR?

Link to absl::log_internal_check_op if possible.

### Are these changes tested?

Yes.

### Are there any user-facing changes?

No.
* Closes: apache#37116

Authored-by: Sutou Kouhei <kou@clear-code.com>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant