From e77fae52810d2eb8ca51d5d33b8a29633abaa983 Mon Sep 17 00:00:00 2001 From: Logan Riggs Date: Fri, 24 Jan 2025 15:43:27 -0800 Subject: [PATCH 1/8] GH-45132 Upgrade LLVM to 18.1 which fixes the unexported orc symbol issu. --- .env | 2 +- ci/docker/java-jni-manylinux-201x.dockerfile | 2 ++ ci/vcpkg/ports.patch | 12 ++++++------ ci/vcpkg/vcpkg.json | 1 + docker-compose.yml | 1 + 5 files changed, 11 insertions(+), 7 deletions(-) diff --git a/.env b/.env index 252f59ccfb2e6..0ec7cd8dc6961 100644 --- a/.env +++ b/.env @@ -89,7 +89,7 @@ TZ=UTC # Used through docker-compose.yml and serves as the default version for the # ci/scripts/install_vcpkg.sh script. Prefer to use short SHAs to keep the # docker tags more readable. -VCPKG="943c5ef1c8f6b5e6ced092b242c8299caae2ff01" # 2024.04.26 Release +VCPKG="f7423ee180c4b7f40d43402c2feb3859161ef625" # 2024.06.15 Release # This must be updated when we update # ci/docker/python-*-windows-*.dockerfile. diff --git a/ci/docker/java-jni-manylinux-201x.dockerfile b/ci/docker/java-jni-manylinux-201x.dockerfile index 479f4aa598b18..e1aa388f70e44 100644 --- a/ci/docker/java-jni-manylinux-201x.dockerfile +++ b/ci/docker/java-jni-manylinux-201x.dockerfile @@ -18,6 +18,8 @@ ARG base FROM ${base} +ARG LLVM=18 + # Install the libraries required by the Gandiva to run # Use enable llvm[enable-rtti] in the vcpkg.json to avoid link problems in Gandiva RUN vcpkg install \ diff --git a/ci/vcpkg/ports.patch b/ci/vcpkg/ports.patch index 67fb2a4a3ea76..a4f22fae57748 100644 --- a/ci/vcpkg/ports.patch +++ b/ci/vcpkg/ports.patch @@ -29,17 +29,17 @@ index a79c72a59..6b7fa6a66 100644 vcpkg_cmake_install(ADD_BIN_TO_PATH) diff --git a/ports/snappy/portfile.cmake b/ports/snappy/portfile.cmake -index 0c7098082..c603c3653 100644 +index 0312b2ae1..fdb576b5f 100644 --- a/ports/snappy/portfile.cmake +++ b/ports/snappy/portfile.cmake -@@ -10,6 +10,7 @@ vcpkg_from_github( - PATCHES +@@ -8,6 +8,7 @@ vcpkg_from_github( fix_clang-cl_build.patch no-werror.patch + pkgconfig.diff + "snappy-disable-bmi.patch" ) - - vcpkg_cmake_configure( + file(COPY "${CURRENT_PORT_DIR}/snappy.pc.in" DESTINATION "${SOURCE_PATH}") + diff --git a/ports/snappy/snappy-disable-bmi.patch b/ports/snappy/snappy-disable-bmi.patch new file mode 100644 index 000000000..e839c93a4 @@ -63,7 +63,7 @@ index 000000000..e839c93a4 + return v & ~(mask << (8 * n)); +-#endif + } -+ ++ + static inline bool LeftShiftOverflows(uint8_t value, uint32_t shift) { diff --git a/ports/thrift/portfile.cmake b/ports/thrift/portfile.cmake index 1501782..71d2147 100644 diff --git a/ci/vcpkg/vcpkg.json b/ci/vcpkg/vcpkg.json index 58b1382d1ca88..348b4a4091399 100644 --- a/ci/vcpkg/vcpkg.json +++ b/ci/vcpkg/vcpkg.json @@ -78,6 +78,7 @@ { "name": "llvm", "default-features": false, + "version>=": "18.1", "features": [ "clang", "default-targets", diff --git a/docker-compose.yml b/docker-compose.yml index 87383568aaba4..776a84d264681 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1338,6 +1338,7 @@ services: build: args: base: ${REPO}:python-wheel-windows-test-vs2019-base-${PYTHON_WHEEL_WINDOWS_TEST_IMAGE_REVISION} + llvm: 18 context: . dockerfile: ci/docker/python-free-threaded-wheel-windows-test-vs2019.dockerfile volumes: *python-wheel-windows-vs2019-volumes From cce0e5cde340cc9df3a376c001e0c326f00ba74a Mon Sep 17 00:00:00 2001 From: Logan Riggs Date: Mon, 27 Jan 2025 13:50:28 -0800 Subject: [PATCH 2/8] Update default llvm to 18 --- .env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.env b/.env index 0ec7cd8dc6961..7ff9b0c904fa5 100644 --- a/.env +++ b/.env @@ -62,7 +62,7 @@ HDFS=3.2.1 JDK=11 KARTOTHEK=latest # LLVM 12 and GCC 11 reports -Wmismatched-new-delete. -LLVM=14 +LLVM=18 MAVEN=3.8.7 NODE=18 NUMBA=latest From 6705fdf2d510e94e54a1bf7db4f1183d367cb77b Mon Sep 17 00:00:00 2001 From: Logan Riggs Date: Mon, 27 Jan 2025 13:50:39 -0800 Subject: [PATCH 3/8] Remove unused variable --- ci/docker/java-jni-manylinux-201x.dockerfile | 2 -- 1 file changed, 2 deletions(-) diff --git a/ci/docker/java-jni-manylinux-201x.dockerfile b/ci/docker/java-jni-manylinux-201x.dockerfile index e1aa388f70e44..479f4aa598b18 100644 --- a/ci/docker/java-jni-manylinux-201x.dockerfile +++ b/ci/docker/java-jni-manylinux-201x.dockerfile @@ -18,8 +18,6 @@ ARG base FROM ${base} -ARG LLVM=18 - # Install the libraries required by the Gandiva to run # Use enable llvm[enable-rtti] in the vcpkg.json to avoid link problems in Gandiva RUN vcpkg install \ From de2eaf0e6bc35db3b5f19153e1416e56bcdab28a Mon Sep 17 00:00:00 2001 From: Logan Riggs Date: Mon, 27 Jan 2025 13:51:05 -0800 Subject: [PATCH 4/8] Formatting --- .env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.env b/.env index 7ff9b0c904fa5..d71a75facafc3 100644 --- a/.env +++ b/.env @@ -89,7 +89,7 @@ TZ=UTC # Used through docker-compose.yml and serves as the default version for the # ci/scripts/install_vcpkg.sh script. Prefer to use short SHAs to keep the # docker tags more readable. -VCPKG="f7423ee180c4b7f40d43402c2feb3859161ef625" # 2024.06.15 Release +VCPKG="f7423ee180c4b7f40d43402c2feb3859161ef625" # 2024.06.15 Release # This must be updated when we update # ci/docker/python-*-windows-*.dockerfile. From 9f61fd239370d4b4fc1a0d924759f963ce02b42c Mon Sep 17 00:00:00 2001 From: Logan Riggs Date: Mon, 27 Jan 2025 17:51:57 -0800 Subject: [PATCH 5/8] Not sure why windows machines don't like the patch file. Try removing the blank line to see if that helps. --- ci/vcpkg/ports.patch | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ci/vcpkg/ports.patch b/ci/vcpkg/ports.patch index a4f22fae57748..d7f34843d2054 100644 --- a/ci/vcpkg/ports.patch +++ b/ci/vcpkg/ports.patch @@ -32,14 +32,13 @@ diff --git a/ports/snappy/portfile.cmake b/ports/snappy/portfile.cmake index 0312b2ae1..fdb576b5f 100644 --- a/ports/snappy/portfile.cmake +++ b/ports/snappy/portfile.cmake -@@ -8,6 +8,7 @@ vcpkg_from_github( +@@ -8,5 +8,6 @@ vcpkg_from_github( fix_clang-cl_build.patch no-werror.patch pkgconfig.diff + "snappy-disable-bmi.patch" ) file(COPY "${CURRENT_PORT_DIR}/snappy.pc.in" DESTINATION "${SOURCE_PATH}") - diff --git a/ports/snappy/snappy-disable-bmi.patch b/ports/snappy/snappy-disable-bmi.patch new file mode 100644 index 000000000..e839c93a4 From 521a7be6a14db8c233d6675df812e58954a67669 Mon Sep 17 00:00:00 2001 From: Logan Riggs Date: Tue, 28 Jan 2025 08:20:28 -0800 Subject: [PATCH 6/8] Add back space to ports.patch file to match previous format. --- ci/vcpkg/ports.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/vcpkg/ports.patch b/ci/vcpkg/ports.patch index d7f34843d2054..39b51874b1c0e 100644 --- a/ci/vcpkg/ports.patch +++ b/ci/vcpkg/ports.patch @@ -62,7 +62,7 @@ index 000000000..e839c93a4 + return v & ~(mask << (8 * n)); +-#endif + } -+ ++ + static inline bool LeftShiftOverflows(uint8_t value, uint32_t shift) { diff --git a/ports/thrift/portfile.cmake b/ports/thrift/portfile.cmake index 1501782..71d2147 100644 From 55e0c81b63fe8d806b00da548abe41f2a255fd6e Mon Sep 17 00:00:00 2001 From: Logan Riggs Date: Thu, 30 Jan 2025 10:11:45 -0800 Subject: [PATCH 7/8] Don't need llvm 18 here --- docker-compose.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 776a84d264681..87383568aaba4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1338,7 +1338,6 @@ services: build: args: base: ${REPO}:python-wheel-windows-test-vs2019-base-${PYTHON_WHEEL_WINDOWS_TEST_IMAGE_REVISION} - llvm: 18 context: . dockerfile: ci/docker/python-free-threaded-wheel-windows-test-vs2019.dockerfile volumes: *python-wheel-windows-vs2019-volumes From 7f4efe58833c2725d69eaed881547b80bb78dade Mon Sep 17 00:00:00 2001 From: Logan Riggs Date: Mon, 3 Feb 2025 14:15:30 -0800 Subject: [PATCH 8/8] Update PYTHON_WHEEL_WINDOWS_IMAGE_REVISION --- .env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.env b/.env index d71a75facafc3..5fc547e143844 100644 --- a/.env +++ b/.env @@ -95,7 +95,7 @@ VCPKG="f7423ee180c4b7f40d43402c2feb3859161ef625" # 2024.06.15 Release # ci/docker/python-*-windows-*.dockerfile. # This is a workaround for our CI problem that "archery docker build" doesn't # use pulled built images in dev/tasks/python-wheels/github.windows.yml. -PYTHON_WHEEL_WINDOWS_IMAGE_REVISION=2025-01-08 +PYTHON_WHEEL_WINDOWS_IMAGE_REVISION=2025-02-03 PYTHON_WHEEL_WINDOWS_TEST_IMAGE_REVISION=2025-01-08 # Use conanio/${CONAN_BASE}:{CONAN_VERSION} for "docker compose run --rm conan".