josiahyan commented on a change in pull request #8757:
URL: https://github.com/apache/arrow/pull/8757#discussion_r584312257



##########
File path: ci/conda_env_unix.yml
##########
@@ -19,6 +19,8 @@
 
 autoconf
 ccache
+google-cloud-cpp=1.20.0

Review comment:
       The currently available version in conda (1.24) is incompatible with the 
way I initially packaged it. I believe I saw in the CI run that 
`storage_client` was missing or something, as the google-cloud-cpp package has 
[started namespacing its 
exports](https://github.com/googleapis/google-cloud-cpp/blob/5bf147226e9333c5106d5fc8b8bba62657eeab97/google/cloud/storage/legacy.cmake.in#L28)
 (finally!).
   
   Given the hard link against abseil libraries (as gRPC does too), to reduce 
packaging size, I decided that the version was safer pinned. The abseil 
libraries actually loaded probably depends on the matrix of abseil versions and 
users of it (gRPC, and the proposed google-cloud-cpp inclusion). Personally, I 
extract it by a bazel query (provided in comments) and a Python script to 
lookup the symbols in the ar files. I believe the gRPC builds do something 
similar, or just pull them out from the compiler invocations (does @pitrou or 
@kou know how they were determined in commits like 
[these](https://github.com/apache/arrow/commit/4ecac056dfa88a0032fed7f36a20d2886c39ef90)?).
 Ideally the compiler would do it, but I didn't dig into why the build system 
wouldn't allow so (I'm guessing the libs have to bundled in and linked 
separately somehow?).
   
   I'm hoping to upgrade the dependency when there is code using it (which 
would be the GCS implementation of the Arrow file interfaces).




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

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to