You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by as...@apache.org on 2023/01/17 04:27:47 UTC

[arrow] branch master updated: GH-25633: [CI][Java][macOS] Ensure using bundled RE2 (#33711)

This is an automated email from the ASF dual-hosted git repository.

assignuser pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow.git


The following commit(s) were added to refs/heads/master by this push:
     new eae79e7e80 GH-25633: [CI][Java][macOS] Ensure using bundled RE2 (#33711)
eae79e7e80 is described below

commit eae79e7e80e134e070b19c57784e76a0846c6277
Author: Sutou Kouhei <ko...@clear-code.com>
AuthorDate: Tue Jan 17 13:27:41 2023 +0900

    GH-25633: [CI][Java][macOS] Ensure using bundled RE2 (#33711)
    
    ### Rationale for this change
    
    If we have Homebrew's RE2, we may mix re2.h from Homebrew's RE2 and bundled RE2.
    If we mix re2.h and libre2.a, we may generate wrong re2::RE2::Options. It may crashes our program.
    
    ### What changes are included in this PR?
    
    Ensure removing Homebrew's RE2.
    
    ### Are these changes tested?
    
    Yes.
    
    ### Are there any user-facing changes?
    
    No.
    * Closes: #25633
    
    Authored-by: Sutou Kouhei <ko...@clear-code.com>
    Signed-off-by: Jacob Wujciak-Jens <ja...@wujciak.de>
---
 ci/scripts/java_jni_macos_build.sh | 1 +
 dev/tasks/java-jars/github.yml     | 7 +++++++
 2 files changed, 8 insertions(+)

diff --git a/ci/scripts/java_jni_macos_build.sh b/ci/scripts/java_jni_macos_build.sh
index 912638b508..e82936c711 100755
--- a/ci/scripts/java_jni_macos_build.sh
+++ b/ci/scripts/java_jni_macos_build.sh
@@ -133,6 +133,7 @@ archery linking check-dependencies \
   --allow libcurl \
   --allow libgandiva_jni \
   --allow libncurses \
+  --allow libobjc \
   --allow libplasma_java \
   --allow libz \
   libarrow_cdata_jni.dylib \
diff --git a/dev/tasks/java-jars/github.yml b/dev/tasks/java-jars/github.yml
index cfa1dbed49..3dcce6d950 100644
--- a/dev/tasks/java-jars/github.yml
+++ b/dev/tasks/java-jars/github.yml
@@ -86,6 +86,7 @@ jobs:
           # If llvm is installed, Apache Arrow C++ uses llvm rather than
           # llvm@14 because llvm is newer than llvm@14.
           brew uninstall llvm || :
+
           brew bundle --file=arrow/cpp/Brewfile
           # We want to link aws-sdk-cpp statically but Homebrew's
           # aws-sdk-cpp provides only shared library. If we have
@@ -93,6 +94,12 @@ jobs:
           # aws-sdk-cpp and bundled aws-sdk-cpp. We uninstall Homebrew's
           # aws-sdk-cpp to ensure using only bundled aws-sdk-cpp.
           brew uninstall aws-sdk-cpp
+          # We want to use bundled RE2 for static linking. If
+          # Homebrew's RE2 is installed, its header file may be used.
+          # We uninstall Homebrew's RE2 to ensure using bundled RE2.
+          brew uninstall grpc || : # gRPC depends on RE2
+          brew uninstall re2 || :
+
           brew bundle --file=arrow/java/Brewfile
       - name: Build C++ libraries
         env: