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: