Skip to content

Commit 5caacb8

Browse files
committed
feat: use gcc-15 when possible
All supported images - except manylinux2014 ones - now use gcc-15. musllinux_1_2 moves to Alpine Linux 3.23 in order to achieve this.
1 parent 8b92e09 commit 5caacb8

File tree

4 files changed

+12
-27
lines changed

4 files changed

+12
-27
lines changed

README.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ for repeatable builds.
102102
manylinux_2_39 (AlmaLinux/RockyLinux 10 based) - ALPHA
103103
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
104104

105-
Toolchain: GCC 14
105+
Toolchain: GCC 15
106106

107107
- aarch64 image: ``quay.io/pypa/manylinux_2_39_aarch64``
108108
- riscv64 image: ``quay.io/pypa/manylinux_2_39_riscv64``
@@ -157,7 +157,7 @@ grafted into a wheel, will fail to run on older hardware. There's no PEP to hand
157157
yet when it comes to packaging or installing wheels. Auditwheel doesn't detect this either.
158158
See https://github.com/pypa/manylinux/issues/1725
159159

160-
Toolchain: GCC 14
160+
Toolchain: GCC 15
161161

162162
- x86_64 image: ``quay.io/pypa/manylinux_2_34_x86_64``
163163
- i686 image: ``quay.io/pypa/manylinux_2_34_i686``
@@ -207,7 +207,7 @@ distros using glibc 2.31 or later, including:
207207
manylinux_2_28 (AlmaLinux 8 based)
208208
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
209209

210-
Toolchain: GCC 14
210+
Toolchain: GCC 15
211211

212212
- x86_64 image: ``quay.io/pypa/manylinux_2_28_x86_64``
213213
- i686 image: ``quay.io/pypa/manylinux_2_28_i686``
@@ -284,10 +284,10 @@ Toolchain: GCC 4.8
284284
- i686 image: ``quay.io/pypa/manylinux1_i686``
285285

286286

287-
musllinux_1_2 (Alpine Linux 3.22 based, 3.13+ compatible)
287+
musllinux_1_2 (Alpine Linux 3.23 based, 3.13+ compatible)
288288
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
289289

290-
Toolchain: GCC 14
290+
Toolchain: GCC 15
291291

292292
- x86_64 image: ``quay.io/pypa/musllinux_1_2_x86_64``
293293
- i686 image: ``quay.io/pypa/musllinux_1_2_i686``

build.sh

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ if [ "${POLICY}" == "manylinux2014" ]; then
3535
fi
3636
elif [ "${POLICY}" == "manylinux_2_28" ]; then
3737
BASEIMAGE="quay.io/almalinuxorg/almalinux:8"
38-
DEVTOOLSET_ROOTPATH="/opt/rh/gcc-toolset-14/root"
38+
DEVTOOLSET_ROOTPATH="/opt/rh/gcc-toolset-15/root"
3939
PREPEND_PATH="${DEVTOOLSET_ROOTPATH}/usr/bin:"
4040
LD_LIBRARY_PATH_ARG="${DEVTOOLSET_ROOTPATH}/usr/lib64:${DEVTOOLSET_ROOTPATH}/usr/lib:${DEVTOOLSET_ROOTPATH}/usr/lib64/dyninst:${DEVTOOLSET_ROOTPATH}/usr/lib/dyninst"
4141
elif [ "${POLICY}" == "manylinux_2_31" ]; then
@@ -45,7 +45,7 @@ elif [ "${POLICY}" == "manylinux_2_31" ]; then
4545
LD_LIBRARY_PATH_ARG=
4646
elif [ "${POLICY}" == "manylinux_2_34" ]; then
4747
BASEIMAGE="quay.io/almalinuxorg/almalinux:9"
48-
DEVTOOLSET_ROOTPATH="/opt/rh/gcc-toolset-14/root"
48+
DEVTOOLSET_ROOTPATH="/opt/rh/gcc-toolset-15/root"
4949
PREPEND_PATH="/usr/local/bin:${DEVTOOLSET_ROOTPATH}/usr/bin:"
5050
LD_LIBRARY_PATH_ARG="${DEVTOOLSET_ROOTPATH}/usr/lib64:${DEVTOOLSET_ROOTPATH}/usr/lib:${DEVTOOLSET_ROOTPATH}/usr/lib64/dyninst:${DEVTOOLSET_ROOTPATH}/usr/lib/dyninst"
5151
elif [ "${POLICY}" == "manylinux_2_35" ]; then
@@ -59,15 +59,11 @@ elif [ "${POLICY}" == "manylinux_2_39" ]; then
5959
x86_64) GOARCH="amd64/v2";;
6060
riscv64) BASEIMAGE="rockylinux/rockylinux:10";;
6161
esac
62-
# TODO enable gcc-toolset-15 once available (probably in 10.1)
63-
# DEVTOOLSET_ROOTPATH="/opt/rh/gcc-toolset-15/root"
64-
# PREPEND_PATH="/usr/local/bin:${DEVTOOLSET_ROOTPATH}/usr/bin:"
65-
# LD_LIBRARY_PATH_ARG="${DEVTOOLSET_ROOTPATH}/usr/lib64:${DEVTOOLSET_ROOTPATH}/usr/lib:${DEVTOOLSET_ROOTPATH}/usr/lib64/dyninst:${DEVTOOLSET_ROOTPATH}/usr/lib/dyninst"
66-
DEVTOOLSET_ROOTPATH=
67-
PREPEND_PATH=
68-
LD_LIBRARY_PATH_ARG=
62+
DEVTOOLSET_ROOTPATH="/opt/rh/gcc-toolset-15/root"
63+
PREPEND_PATH="/usr/local/bin:${DEVTOOLSET_ROOTPATH}/usr/bin:"
64+
LD_LIBRARY_PATH_ARG="${DEVTOOLSET_ROOTPATH}/usr/lib64:${DEVTOOLSET_ROOTPATH}/usr/lib:${DEVTOOLSET_ROOTPATH}/usr/lib64/dyninst:${DEVTOOLSET_ROOTPATH}/usr/lib/dyninst"
6965
elif [ "${POLICY}" == "musllinux_1_2" ]; then
70-
BASEIMAGE="alpine:3.22"
66+
BASEIMAGE="alpine:edge" # TODO 3.23
7167
DEVTOOLSET_ROOTPATH=
7268
PREPEND_PATH=
7369
LD_LIBRARY_PATH_ARG=

docker/build_scripts/finalize.sh

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,3 @@ LC_ALL=C "${MY_DIR}/update-system-packages.sh"
106106

107107
# wrap compilers (see https://github.com/pypa/manylinux/issues/1725)
108108
"${MY_DIR}/install-gcc-wrapper.sh"
109-
110-
# patch libstdc++.so (see https://github.com/pypa/manylinux/issues/1760)
111-
if [ "${AUDITWHEEL_POLICY}" == "manylinux_2_28" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_34" ]; then
112-
find "${DEVTOOLSET_ROOTPATH}" -name 'libstdc++.so' -exec sed -i 's/INPUT\s*(\s*\([^ ]\+\)\s*\([^ ]\+\)\s*)/INPUT ( \1 \2 \1 )/g' {} \;
113-
fi

docker/build_scripts/install-runtime-packages.sh

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -128,13 +128,7 @@ elif [ "${OS_ID_LIKE}" == "rhel" ]; then
128128
else
129129
dnf config-manager --set-enabled crb
130130
fi
131-
if [ "${AUDITWHEEL_POLICY}" == "manylinux_2_28" ] || [ "${AUDITWHEEL_POLICY}" == "manylinux_2_34" ]; then
132-
TOOLCHAIN_DEPS=(gcc-toolset-14-binutils gcc-toolset-14-gcc gcc-toolset-14-gcc-c++ gcc-toolset-14-gcc-gfortran gcc-toolset-14-libatomic-devel)
133-
else
134-
# TODO enable gcc-toolset-15 once available (probably in 10.1)
135-
# TOOLCHAIN_DEPS=(gcc-toolset-15-binutils gcc-toolset-15-gcc gcc-toolset-15-gcc-c++ gcc-toolset-15-gcc-gfortran gcc-toolset-15-libatomic-devel)
136-
TOOLCHAIN_DEPS=(binutils gcc gcc-c++ gcc-gfortran libatomic)
137-
fi
131+
TOOLCHAIN_DEPS=(gcc-toolset-15-binutils gcc-toolset-15-gcc gcc-toolset-15-gcc-c++ gcc-toolset-15-gcc-gfortran gcc-toolset-15-libatomic-devel)
138132
elif [ "${OS_ID_LIKE}" == "debian" ]; then
139133
TOOLCHAIN_DEPS+=(binutils gcc g++ gfortran libatomic1)
140134
BASE_TOOLS+=(gpg gpg-agent hardlink hostname locales xz-utils)

0 commit comments

Comments
 (0)