Skip to content

Commit ff49e49

Browse files
committed
Fix Linux wheel policy
1 parent d0fcb02 commit ff49e49

1 file changed

Lines changed: 8 additions & 14 deletions

File tree

.github/workflows/python-release.yml

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -90,16 +90,14 @@ jobs:
9090
fail-fast: false
9191
matrix:
9292
include:
93-
# Linux x86_64 with CUDA support (uses GCC Toolset 13 for CUDA compatibility)
93+
# Linux x86_64 with CUDA support. Use the manylinux 2.34 image's
94+
# default GCC 11 toolchain: CUDA 12.6 supports GCC 6.x-13.2, while
95+
# GCC 13 emits libstdc++ symbols newer than auditwheel's
96+
# manylinux_2_35 policy allows.
9497
- os: ubuntu-latest
9598
architecture: x86_64
9699
cibw_archs: x86_64
97100
install_cuda: true
98-
# GCC Toolset 13 paths for CUDA compatibility
99-
gcc_path_prefix: "/opt/rh/gcc-toolset-13/root/usr/bin:"
100-
gcc_ld_path: "/opt/rh/gcc-toolset-13/root/usr/lib64:/opt/rh/gcc-toolset-13/root/usr/lib:"
101-
gcc_cc: "/opt/rh/gcc-toolset-13/root/usr/bin/gcc"
102-
gcc_cxx: "/opt/rh/gcc-toolset-13/root/usr/bin/g++"
103101
# Linux aarch64 - temporarily disabled while the LLVM 21.1
104102
# manylinux_2_34 bootstrap is validated on the primary x86_64 lane.
105103
# - os: ubuntu-24.04-arm
@@ -209,10 +207,9 @@ jobs:
209207
CIBW_ARCHS_LINUX: ${{ matrix.cibw_archs }}
210208
CIBW_MANYLINUX_X86_64_IMAGE: "manylinux_2_34"
211209
CIBW_MANYLINUX_AARCH64_IMAGE: "manylinux_2_34"
212-
# Linux configuration - GCC Toolset and CUDA paths are conditional via matrix variables
210+
# Linux configuration - CUDA paths are conditional via matrix variables
213211
CIBW_ENVIRONMENT_LINUX: >
214-
PATH=${{ matrix.gcc_path_prefix }}$HOME/.cargo/bin:$HOME/.pecos/deps/llvm-21.1/bin:$HOME/.pecos/deps/cmake-${{ env.PECOS_CMAKE_VERSION }}/bin:/usr/local/cuda-12.6/bin:$PATH
215-
LD_LIBRARY_PATH=${{ matrix.gcc_ld_path }}$HOME/.pecos/deps/llvm-21.1/lib:$LD_LIBRARY_PATH
212+
PATH=$HOME/.cargo/bin:$HOME/.pecos/deps/llvm-21.1/bin:$HOME/.pecos/deps/cmake-${{ env.PECOS_CMAKE_VERSION }}/bin:/usr/local/cuda-12.6/bin:$PATH
216213
LLVM_SYS_211_PREFIX=$HOME/.pecos/deps/llvm-21.1
217214
LIBCLANG_PATH=$HOME/.pecos/deps/llvm-21.1/lib
218215
CMAKE=$HOME/.pecos/deps/cmake-${{ env.PECOS_CMAKE_VERSION }}/bin/cmake
@@ -224,9 +221,6 @@ jobs:
224221
dnf install -y bzip2 libffi-devel xz
225222
# Install CUDA Toolkit for GPU support on x86_64 (compile-time only, no GPU needed)
226223
if [ "${{ matrix.install_cuda }}" = "true" ]; then
227-
echo "Installing GCC 13 (required for CUDA 12.6 compatibility)..."
228-
dnf install -y gcc-toolset-13
229-
source /opt/rh/gcc-toolset-13/enable
230224
echo "Installing CUDA Toolkit from NVIDIA repos..."
231225
. /etc/os-release
232226
CUDA_RHEL_MAJOR="${VERSION_ID%%.*}"
@@ -244,7 +238,7 @@ jobs:
244238
cargo run --locked --release -p pecos-cli -- llvm configure "$HOME/.pecos/deps/llvm-21.1"
245239
cargo run --locked --release -p pecos-cli -- install cmake --force
246240
CIBW_REPAIR_WHEEL_COMMAND_LINUX: >
247-
auditwheel repair -w {dest_dir} {wheel} &&
241+
auditwheel repair --plat manylinux_2_35_${{ matrix.cibw_archs }} -w {dest_dir} {wheel} &&
248242
pipx run abi3audit --strict --report {wheel}
249243
# macOS configuration
250244
CIBW_ENVIRONMENT_MACOS: >
@@ -328,7 +322,7 @@ jobs:
328322
bash scripts/ci/install-llvm-21-conda-linux.sh
329323
cargo run --locked --release -p pecos-cli -- llvm configure "$HOME/.pecos/deps/llvm-21.1"
330324
CIBW_REPAIR_WHEEL_COMMAND_LINUX: >
331-
auditwheel repair -w {dest_dir} {wheel} &&
325+
auditwheel repair --plat manylinux_2_35_${{ matrix.cibw_archs }} -w {dest_dir} {wheel} &&
332326
pipx run abi3audit --strict --report {wheel}
333327
CIBW_ENVIRONMENT_MACOS: >
334328
PATH=$HOME/.cargo/bin:$HOME/.pecos/deps/llvm-21.1/bin:$PATH

0 commit comments

Comments
 (0)