Skip to content

Commit 31747f0

Browse files
authored
GH-45132: [C++][Gandiva] Update LLVM to 18.1 (#45114)
### Rationale for this change #37848 upgraded the JIT compiler for LLVM/Gandiva code which presented linking errors with newer version of LLVM. Some Gandiva tests were disabled, and here at Dremio I am running into the same linking problem when trying to build with an updated Arrow library. After reading some threads on the LLVM discord server it appears that updating to LLVM 18.1 will fix the symbol issue. I tested locally and was able to re-enable the disabled java tests which were showing the unexported ORC symbol issue. More discussion in apache/arrow-java#63. ### What changes are included in this PR? Updating vcpkg and pinning LLVM to 18.1 Notably I found encountered some build problems using the newest vcpkg update, which appeared to be related to the updated gRPC libraries. My Arrow jar CI build was timing out in this case with no clear error in the logs. The vcpkg version included here has the LLVM 18 update but not the gRPC update (which isn't needed for this issue). ### Are these changes tested? Covered by existing tests. Will also re-enable the disabled Java tests in a future change. ### Are there any user-facing changes? No. * GitHub Issue: #45132 Lead-authored-by: Logan Riggs <logan.riggs@dremio.com> Co-authored-by: lriggs <logan.riggs@dremio.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
1 parent 39711ee commit 31747f0

3 files changed

Lines changed: 8 additions & 8 deletions

File tree

.env

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ HDFS=3.2.1
6262
JDK=11
6363
KARTOTHEK=latest
6464
# LLVM 12 and GCC 11 reports -Wmismatched-new-delete.
65-
LLVM=14
65+
LLVM=18
6666
MAVEN=3.8.7
6767
NODE=18
6868
NUMBA=latest
@@ -89,13 +89,13 @@ TZ=UTC
8989
# Used through docker-compose.yml and serves as the default version for the
9090
# ci/scripts/install_vcpkg.sh script. Prefer to use short SHAs to keep the
9191
# docker tags more readable.
92-
VCPKG="943c5ef1c8f6b5e6ced092b242c8299caae2ff01" # 2024.04.26 Release
92+
VCPKG="f7423ee180c4b7f40d43402c2feb3859161ef625" # 2024.06.15 Release
9393

9494
# This must be updated when we update
9595
# ci/docker/python-*-windows-*.dockerfile or the vcpkg config.
9696
# This is a workaround for our CI problem that "archery docker build" doesn't
9797
# use pulled built images in dev/tasks/python-wheels/github.windows.yml.
98-
PYTHON_WHEEL_WINDOWS_IMAGE_REVISION=2025-01-27
98+
PYTHON_WHEEL_WINDOWS_IMAGE_REVISION=2025-02-03
9999
PYTHON_WHEEL_WINDOWS_TEST_IMAGE_REVISION=2025-01-27
100100

101101
# Use conanio/${CONAN_BASE}:{CONAN_VERSION} for "docker compose run --rm conan".

ci/vcpkg/ports.patch

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,17 +29,16 @@ index a79c72a59..6b7fa6a66 100644
2929

3030
vcpkg_cmake_install(ADD_BIN_TO_PATH)
3131
diff --git a/ports/snappy/portfile.cmake b/ports/snappy/portfile.cmake
32-
index 0c7098082..c603c3653 100644
32+
index 0312b2ae1..fdb576b5f 100644
3333
--- a/ports/snappy/portfile.cmake
3434
+++ b/ports/snappy/portfile.cmake
35-
@@ -10,6 +10,7 @@ vcpkg_from_github(
36-
PATCHES
35+
@@ -8,5 +8,6 @@ vcpkg_from_github(
3736
fix_clang-cl_build.patch
3837
no-werror.patch
38+
pkgconfig.diff
3939
+ "snappy-disable-bmi.patch"
4040
)
41-
42-
vcpkg_cmake_configure(
41+
file(COPY "${CURRENT_PORT_DIR}/snappy.pc.in" DESTINATION "${SOURCE_PATH}")
4342
diff --git a/ports/snappy/snappy-disable-bmi.patch b/ports/snappy/snappy-disable-bmi.patch
4443
new file mode 100644
4544
index 000000000..e839c93a4

ci/vcpkg/vcpkg.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@
7575
{
7676
"name": "llvm",
7777
"default-features": false,
78+
"version>=": "18.1",
7879
"features": [
7980
"clang",
8081
"default-targets",

0 commit comments

Comments
 (0)