From 34d8e036bb19ac074be3c6ae9abd140f5c2d916f Mon Sep 17 00:00:00 2001 From: Junya Morioka Date: Wed, 28 Jan 2026 02:35:58 +0900 Subject: [PATCH] fix: downgrade gcc-toolset from 14 to 13 for CUDA compatibility gcc-toolset-14 (GCC 14) in manylinux_2_28 containers is incompatible with CUDA 12.6 nvcc, causing compilation errors in type_traits headers. Use gcc-toolset-13 instead and export CC/CXX to GITHUB_ENV to ensure subsequent steps use the correct compiler. --- .../workflows/_build_linux_arm_self_host.yml | 14 ++++++++-- .github/workflows/_build_linux_self_host.yml | 28 ++++++++++++++++--- 2 files changed, 36 insertions(+), 6 deletions(-) diff --git a/.github/workflows/_build_linux_arm_self_host.yml b/.github/workflows/_build_linux_arm_self_host.yml index 2c0aa44..618300b 100644 --- a/.github/workflows/_build_linux_arm_self_host.yml +++ b/.github/workflows/_build_linux_arm_self_host.yml @@ -99,12 +99,22 @@ jobs: unzip \ zip \ git \ - gcc \ - gcc-c++ \ + gcc-toolset-13-gcc \ + gcc-toolset-13-gcc-c++ \ clang \ ninja-build \ time \ patchelf + # Activate gcc-toolset-13 for CUDA compatibility + if [ -f /opt/rh/gcc-toolset-13/enable ]; then + # Export PATH and other env vars to GITHUB_ENV for subsequent steps + source /opt/rh/gcc-toolset-13/enable + echo "PATH=$PATH" >> $GITHUB_ENV + echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH:-}" >> $GITHUB_ENV + echo "CC=$(which gcc)" >> $GITHUB_ENV + echo "CXX=$(which g++)" >> $GITHUB_ENV + echo "GCC version: $(gcc --version | head -1)" + fi else echo "Error: No supported package manager found (apt-get or dnf)" exit 1 diff --git a/.github/workflows/_build_linux_self_host.yml b/.github/workflows/_build_linux_self_host.yml index 6e2b0b4..51f2d9e 100644 --- a/.github/workflows/_build_linux_self_host.yml +++ b/.github/workflows/_build_linux_self_host.yml @@ -104,12 +104,22 @@ jobs: unzip \ zip \ git \ - gcc \ - gcc-c++ \ + gcc-toolset-13-gcc \ + gcc-toolset-13-gcc-c++ \ clang \ ninja-build \ time \ patchelf + # Activate gcc-toolset-13 for CUDA compatibility + if [ -f /opt/rh/gcc-toolset-13/enable ]; then + # Export PATH and other env vars to GITHUB_ENV for subsequent steps + source /opt/rh/gcc-toolset-13/enable + echo "PATH=$PATH" >> $GITHUB_ENV + echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH:-}" >> $GITHUB_ENV + echo "CC=$(which gcc)" >> $GITHUB_ENV + echo "CXX=$(which g++)" >> $GITHUB_ENV + echo "GCC version: $(gcc --version | head -1)" + fi else echo "Error: No supported package manager found (apt-get or dnf)" exit 1 @@ -210,12 +220,22 @@ jobs: unzip \ zip \ git \ - gcc \ - gcc-c++ \ + gcc-toolset-13-gcc \ + gcc-toolset-13-gcc-c++ \ clang \ ninja-build \ time \ patchelf + # Activate gcc-toolset-13 for CUDA compatibility + if [ -f /opt/rh/gcc-toolset-13/enable ]; then + # Export PATH and other env vars to GITHUB_ENV for subsequent steps + source /opt/rh/gcc-toolset-13/enable + echo "PATH=$PATH" >> $GITHUB_ENV + echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH:-}" >> $GITHUB_ENV + echo "CC=$(which gcc)" >> $GITHUB_ENV + echo "CXX=$(which g++)" >> $GITHUB_ENV + echo "GCC version: $(gcc --version | head -1)" + fi else echo "Error: No supported package manager found (apt-get or dnf)" exit 1