From 53ea358ba0d28f68ce501cbc69acb6e677727a58 Mon Sep 17 00:00:00 2001 From: swap357 Date: Tue, 28 Oct 2025 18:21:16 -0700 Subject: [PATCH 1/3] update manylinux image version on linux-64 wheel builder workflow --- .github/workflows/llvmlite_linux-64_wheel_builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/llvmlite_linux-64_wheel_builder.yml b/.github/workflows/llvmlite_linux-64_wheel_builder.yml index 1759c42eb..e1e16417a 100644 --- a/.github/workflows/llvmlite_linux-64_wheel_builder.yml +++ b/.github/workflows/llvmlite_linux-64_wheel_builder.yml @@ -25,7 +25,7 @@ env: CONDA_CHANNEL_NUMBA: numba/label/llvm20-wheel VALIDATION_PYTHON_VERSION: "3.12" ARTIFACT_RETENTION_DAYS: 7 - MANYLINUX_IMAGE: "manylinux2014_x86_64" + MANYLINUX_IMAGE: "manylinux_2_28_x86_64:2025.09.19-1" jobs: linux-64-build: From fb7115484886f8d510bee962420c6521e9dee608 Mon Sep 17 00:00:00 2001 From: swap357 Date: Tue, 28 Oct 2025 19:28:59 -0700 Subject: [PATCH 2/3] set C++ ABI to match LLVM conda package in build_llvmlite.sh --- buildscripts/manylinux/build_llvmlite.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/buildscripts/manylinux/build_llvmlite.sh b/buildscripts/manylinux/build_llvmlite.sh index 96ff7e7a0..0d4eabe57 100755 --- a/buildscripts/manylinux/build_llvmlite.sh +++ b/buildscripts/manylinux/build_llvmlite.sh @@ -41,6 +41,16 @@ python setup.py clean # Configure build via env vars export LLVMLITE_PACKAGE_FORMAT="wheel" +# Set C++ ABI based on architecture +# x86_64 llvmdev used manylinux2014 image, which uses old ABI, +# aarch64 uses manylinux_2_28 image, which uses new ABI +# llvmlite now uses manylinux_2_28 image for both architectures, which uses new ABI +ARCH=$(uname -m) +if [ "$ARCH" = "x86_64" ]; then + # set old ABI for x86_64 + export CXXFLAGS="-D_GLIBCXX_USE_CXX11_ABI=0 ${CXXFLAGS}" +fi + # Build wheel distdir=$outputdir/dist_$(uname -m)_$pyver rm -rf $distdir From e1d24319c9187b5ceae4abcfeb6b66985a5d4c68 Mon Sep 17 00:00:00 2001 From: swap357 Date: Tue, 28 Oct 2025 20:59:23 -0700 Subject: [PATCH 3/3] add build_llvmlite.sh to pull request paths for wheel builder workflows --- .github/workflows/llvmlite_linux-64_wheel_builder.yml | 1 + .github/workflows/llvmlite_linux-aarch64_wheel_builder.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/llvmlite_linux-64_wheel_builder.yml b/.github/workflows/llvmlite_linux-64_wheel_builder.yml index e1e16417a..47fddb429 100644 --- a/.github/workflows/llvmlite_linux-64_wheel_builder.yml +++ b/.github/workflows/llvmlite_linux-64_wheel_builder.yml @@ -4,6 +4,7 @@ on: pull_request: paths: - .github/workflows/llvmlite_linux-64_wheel_builder.yml + - buildscripts/manylinux/build_llvmlite.sh workflow_dispatch: inputs: llvmdev_run_id: diff --git a/.github/workflows/llvmlite_linux-aarch64_wheel_builder.yml b/.github/workflows/llvmlite_linux-aarch64_wheel_builder.yml index 25bcb99c0..47f71acd5 100644 --- a/.github/workflows/llvmlite_linux-aarch64_wheel_builder.yml +++ b/.github/workflows/llvmlite_linux-aarch64_wheel_builder.yml @@ -4,6 +4,7 @@ on: pull_request: paths: - .github/workflows/llvmlite_linux-aarch64_wheel_builder.yml + - buildscripts/manylinux/build_llvmlite.sh workflow_dispatch: inputs: llvmdev_run_id: