rok commented on PR #13681:
URL: https://github.com/apache/arrow/pull/13681#issuecomment-1193241547

   I'm still not able to build GCS + tests, however GCS without tests builds 
fine and gives me a working build.
   #13407 didn't work, not sure why.
   
   This is the cmake (GCS + tests) that's erroring:
   ```
   cmake \
        -GNinja \
        -DCMAKE_INSTALL_PREFIX=$ARROW_HOME \
        -DCMAKE_INSTALL_LIBDIR=lib \
        -DARROW_PYTHON=ON \
        -DARROW_COMPUTE=ON \
        -DARROW_FILESYSTEM=ON \
        -DARROW_CSV=ON \
        -DARROW_GCS=ON \
        -DARROW_INSTALL_NAME_RPATH=OFF \
        -DARROW_BUILD_TESTS=ON \
        -DCMAKE_CXX_STANDARD=17 \
        ..
   ```
   
   Error from building GCS + tests:
   ```
   Undefined symbols for architecture arm64:
     "absl::lts_20220623::FormatTime(std::__1::basic_string_view<char, 
std::__1::char_traits<char> >, absl::lts_20220623::Time, 
absl::lts_20220623::TimeZone)", referenced from:
         arrow::fs::(anonymous 
namespace)::GcsIntegrationTest_OpenInputStreamReadMetadata_Test::TestBody() in 
gcsfs_test.cc.o
     
"absl::lts_20220623::FromChrono(std::__1::chrono::time_point<std::__1::chrono::system_clock,
 std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > > 
const&)", referenced from:
         arrow::fs::(anonymous 
namespace)::GcsIntegrationTest_OpenInputStreamReadMetadata_Test::TestBody() in 
gcsfs_test.cc.o
     "absl::lts_20220623::RFC3339_full", referenced from:
         arrow::fs::(anonymous 
namespace)::GcsFileSystem_ObjectMetadataRoundtrip_Test::TestBody() in 
gcsfs_test.cc.o
         arrow::fs::(anonymous 
namespace)::GcsIntegrationTest_OpenInputStreamReadMetadata_Test::TestBody() in 
gcsfs_test.cc.o
     "absl::lts_20220623::time_internal::cctz::utc_time_zone()", referenced 
from:
         arrow::fs::(anonymous 
namespace)::GcsIntegrationTest_OpenInputStreamReadMetadata_Test::TestBody() in 
gcsfs_test.cc.o
     "absl::lts_20220623::ToDoubleSeconds(absl::lts_20220623::Duration)", 
referenced from:
         arrow::fs::(anonymous 
namespace)::GcsFileSystem_ObjectMetadataRoundtrip_Test::TestBody() in 
gcsfs_test.cc.o
     "absl::lts_20220623::Duration::operator-=(absl::lts_20220623::Duration)", 
referenced from:
         arrow::fs::(anonymous 
namespace)::GcsFileSystem_ObjectMetadataRoundtrip_Test::TestBody() in 
gcsfs_test.cc.o
     "absl::lts_20220623::ParseTime(std::__1::basic_string_view<char, 
std::__1::char_traits<char> >, std::__1::basic_string_view<char, 
std::__1::char_traits<char> >, absl::lts_20220623::Time*, 
std::__1::basic_string<char, std::__1::char_traits<char>, 
std::__1::allocator<char> >*)", referenced from:
         arrow::fs::(anonymous 
namespace)::GcsFileSystem_ObjectMetadataRoundtrip_Test::TestBody() in 
gcsfs_test.cc.o
   ```
   
   I've also noticed some duplicated symbols:
   ```
   [280/317] Bundling 
/Users/rok/Documents/repos/arrow/cpp/build/release/libarrow_bundled_dependencies.a
   /Library/Developer/CommandLineTools/usr/bin/libtool: warning same member 
name (binary_data_as_debug_string.cc.o) in output file used for input files: 
/Users/rok/Documents/repos/arrow/cpp/build/google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_storage.a(binary_data_as_debug_string.cc.o)
 and: 
/Users/rok/Documents/repos/arrow/cpp/build/google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_rest_internal.a(binary_data_as_debug_string.cc.o)
 due to use of basename, truncation and blank padding
   /Library/Developer/CommandLineTools/usr/bin/libtool: warning same member 
name (compute_engine_util.cc.o) in output file used for input files: 
/Users/rok/Documents/repos/arrow/cpp/build/google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_common.a(compute_engine_util.cc.o)
 and: 
/Users/rok/Documents/repos/arrow/cpp/build/google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_storage.a(compute_engine_util.cc.o)
 due to use of basename, truncation and blank padding
   /Library/Developer/CommandLineTools/usr/bin/libtool: warning same member 
name (credentials.cc.o) in output file used for input files: 
/Users/rok/Documents/repos/arrow/cpp/build/google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_common.a(credentials.cc.o)
 and: 
/Users/rok/Documents/repos/arrow/cpp/build/google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_storage.a(credentials.cc.o)
 due to use of basename, truncation and blank padding
   /Library/Developer/CommandLineTools/usr/bin/libtool: warning same member 
name (curl_handle.cc.o) in output file used for input files: 
/Users/rok/Documents/repos/arrow/cpp/build/google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_rest_internal.a(curl_handle.cc.o)
 and: 
/Users/rok/Documents/repos/arrow/cpp/build/google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_storage.a(curl_handle.cc.o)
 due to use of basename, truncation and blank padding
   /Library/Developer/CommandLineTools/usr/bin/libtool: warning same member 
name (curl_handle_factory.cc.o) in output file used for input files: 
/Users/rok/Documents/repos/arrow/cpp/build/google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_storage.a(curl_handle_factory.cc.o)
 and: 
/Users/rok/Documents/repos/arrow/cpp/build/google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_rest_internal.a(curl_handle_factory.cc.o)
 due to use of basename, truncation and blank padding
   /Library/Developer/CommandLineTools/usr/bin/libtool: warning same member 
name (curl_wrappers.cc.o) in output file used for input files: 
/Users/rok/Documents/repos/arrow/cpp/build/google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_storage.a(curl_wrappers.cc.o)
 and: 
/Users/rok/Documents/repos/arrow/cpp/build/google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_rest_internal.a(curl_wrappers.cc.o)
 due to use of basename, truncation and blank padding
   /Library/Developer/CommandLineTools/usr/bin/libtool: warning same member 
name (escaping.cc.o) in output file used for input files: 
/Users/rok/Documents/repos/arrow/cpp/build/absl_ep-install/lib/libabsl_strings_internal.a(escaping.cc.o)
 and: 
/Users/rok/Documents/repos/arrow/cpp/build/absl_ep-install/lib/libabsl_strings.a(escaping.cc.o)
 due to use of basename, truncation and blank padding
   /Library/Developer/CommandLineTools/usr/bin/libtool: warning same member 
name (make_jwt_assertion.cc.o) in output file used for input files: 
/Users/rok/Documents/repos/arrow/cpp/build/google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_rest_internal.a(make_jwt_assertion.cc.o)
 and: 
/Users/rok/Documents/repos/arrow/cpp/build/google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_storage.a(make_jwt_assertion.cc.o)
 due to use of basename, truncation and blank padding
   /Library/Developer/CommandLineTools/usr/bin/libtool: warning same member 
name (openssl_util.cc.o) in output file used for input files: 
/Users/rok/Documents/repos/arrow/cpp/build/google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_storage.a(openssl_util.cc.o)
 and: 
/Users/rok/Documents/repos/arrow/cpp/build/google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_rest_internal.a(openssl_util.cc.o)
 due to use of basename, truncation and blank padding
   /Library/Developer/CommandLineTools/usr/bin/libtool: warning same member 
name (throw_delegate.cc.o) in output file used for input files: 
/Users/rok/Documents/repos/arrow/cpp/build/absl_ep-install/lib/libabsl_throw_delegate.a(throw_delegate.cc.o)
 and: 
/Users/rok/Documents/repos/arrow/cpp/build/google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_common.a(throw_delegate.cc.o)
 due to use of basename, truncation and blank padding
   /Library/Developer/CommandLineTools/usr/bin/libtool: warning same member 
name (unified_rest_credentials.cc.o) in output file used for input files: 
/Users/rok/Documents/repos/arrow/cpp/build/google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_storage.a(unified_rest_credentials.cc.o)
 and: 
/Users/rok/Documents/repos/arrow/cpp/build/google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_rest_internal.a(unified_rest_credentials.cc.o)
 due to use of basename, truncation and blank padding
   /Library/Developer/CommandLineTools/usr/bin/libtool: warning same member 
name (version.cc.o) in output file used for input files: 
/Users/rok/Documents/repos/arrow/cpp/build/google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_common.a(version.cc.o)
 and: 
/Users/rok/Documents/repos/arrow/cpp/build/google_cloud_cpp_ep-install/lib/libgoogle_cloud_cpp_storage.a(version.cc.o)
 due to use of basename, truncation and blank padding
   ```
   These can be resolved with:
   ```diff
   diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake 
b/cpp/cmake_modules/ThirdpartyToolchain.cmake
   index 5d1da18b7..c9bbcf3db 100644
   --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
   +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
   @@ -4164,7 +4164,6 @@ macro(build_google_cloud_cpp_storage)
                            absl::variant
                            nlohmann_json::nlohmann_json
                            Crc32c::crc32c
   -                        CURL::libcurl
                            Threads::Threads
                            OpenSSL::SSL
                            OpenSSL::Crypto
   @@ -4193,9 +4192,7 @@ macro(build_google_cloud_cpp_storage)
             absl::raw_logging_internal
             absl::spinlock_wait
             absl::strings
   -         absl::strings_internal
             absl::str_format_internal
   -         absl::throw_delegate
             absl::time
             absl::time_zone
             Crc32c::crc32c)
   ```
   
   I'm not sure how much of a problem this really is, but I'll open a Jira to 
make it more visible.


-- 
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