lidavidm commented on pull request #11889:
URL: https://github.com/apache/arrow/pull/11889#issuecomment-1057425101


   So, I can manually fix that by copying libgrpc++.a to libgrpcpp.a, then 
running ar myself. So far, these changes have been made:
   
   ```diff
   diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake 
b/cpp/cmake_modules/ThirdpartyToolchain.cmake
   index 84c27c254..220a5ded0 100644
   --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
   +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
   @@ -3647,6 +3647,8 @@ macro(build_grpc)
      add_custom_target(grpc_copy_grpc++ ALL DEPENDS 
"${GRPC_STATIC_LIBRARY_GRPCPP_FOR_AR}")
      add_dependencies(gRPC::grpcpp_for_bundling grpc_copy_grpc++)
    
   +  list(APPEND ARROW_BUNDLED_STATIC_LIBS gRPC::upb gRPC::gpr 
gRPC::address_sorting
   +         gRPC::grpc++ gRPC::grpc)
      list(APPEND ARROW_BUNDLED_STATIC_LIBS ${GRPC_GPR_ABSL_LIBRARIES})
    endmacro()
   ```
   
   and I'm running
   
   ```
   /usr/bin/c++ -O3 -DNDEBUG  CMakeFiles/arrow_example.dir/example.cc.o -o 
arrow_example 
/home/lidavidm/Code/upstream/rok-arrow-14708/install/lib/libarrow_flight.a 
/home/lidavidm/Code/upstream/rok-arrow-14708/install/lib/libarrow.a 
/home/lidavidm/Code/upstream/rok-arrow-14708/install/lib/libarrow_bundled_dependencies.a
  -pthread
   ``` 
   
   That fails with more missing symbols. A lot look like OpenSSL, so that's 
another issue here: something isn't properly declaring the dependency on 
OpenSSL.
   
   ```
   /usr/bin/c++ -O3 -DNDEBUG  CMakeFiles/arrow_example.dir/example.cc.o -o 
arrow_example 
/home/lidavidm/Code/upstream/rok-arrow-14708/install/lib/libarrow_flight.a 
/home/lidavidm/Code/upstream/rok-arrow-14708/install/lib/libarrow.a 
/home/lidavidm/Code/upstream/rok-arrow-14708/install/lib/libarrow_bundled_dependencies.a
 -lssl -lcrypto  -pthread
   ```
   
   This still fails, now we're missing more abseil symbols:
   
   ```
   
/home/lidavidm/Code/upstream/rok-arrow-14708/install/lib/libarrow_bundled_dependencies.a(completion_queue.cc.o):
 In function `std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > 
absl::lts_20210324::StrFormat<void*>(absl::lts_20210324::str_format_internal::FormatSpecTemplate<(ArgumentToConv<void*>)()>
 const&, void* const&)':
   
/home/lidavidm/Code/upstream/rok-arrow-14708/build/absl_ep-install/include/absl/strings/str_format.h:342:
 undefined reference to 
`absl::lts_20210324::str_format_internal::FormatPack[abi:cxx11](absl::lts_20210324::str_format_internal::UntypedFormatSpecImpl,
 
absl::lts_20210324::Span<absl::lts_20210324::str_format_internal::FormatArgImpl 
const>)'
   
/home/lidavidm/Code/upstream/rok-arrow-14708/install/lib/libarrow_bundled_dependencies.a(completion_queue.cc.o):
 In function `void 
absl::lts_20210324::str_format_internal::FormatArgImpl::Init<absl::lts_20210324::str_format_internal::VoidPtr>(absl::lts_20210324::str_format_internal::VoidPtr
 const&)':
   ...
   ```
   
   @rok does the repro work for you?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to