Skip to content

Commit e6bf9d4

Browse files
ci: fix pinned windows toolchain after msys2 split gcc-libs
Since gcc 16.2.0-4 msys2 splits gcc-libs into libgcc, libstdc++ and cc-libs, which conflict with the pinned gcc-libs 16.2.0-3, so the pacman -U of the pinned toolchain fails. Remove the split packages before the downgrade. Also pin boost-libs 1.92.0-3 next to boost: the rebuilt boost-libs in the repo depends on libquadmath, which conflicts with the pinned gcc-libs. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
1 parent 3812cd2 commit e6bf9d4

2 files changed

Lines changed: 22 additions & 2 deletions

File tree

‎.github/workflows/build-windows.yml‎

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,13 @@ jobs:
8484
echo "f8e25ea67bb796e7f65550f0dca9fce4cdde8aaa3dadafe4d13c6a8233c8de26 mingw-w64-x86_64-gcc-libs-16.2.0-3-any.pkg.tar.zst" | sha256sum -c
8585
wget https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-gcc-16.2.0-3-any.pkg.tar.zst
8686
echo "8b37c953ae12f3d8fa05c854236463231ea0a294dff423007cbd93d4d8089f9f mingw-w64-x86_64-gcc-16.2.0-3-any.pkg.tar.zst" | sha256sum -c
87+
# gcc-libs is split into libgcc, libstdc++ and cc-libs since 16.2.0-4 and the
88+
# new packages conflict with the pinned gcc-libs, so drop them before the downgrade
89+
for p in libgcc libstdc++ cc-libs; do
90+
if pacman -Q mingw-w64-x86_64-$p > /dev/null 2>&1; then
91+
pacman -Rdd --noconfirm mingw-w64-x86_64-$p
92+
fi
93+
done
8794
pacman -U --noconfirm \
8895
mingw-w64-x86_64-headers-14.0.0.r375.g9c1abbbf5-1-any.pkg.tar.zst \
8996
mingw-w64-x86_64-crt-14.0.0.r375.g9c1abbbf5-1-any.pkg.tar.zst \
@@ -117,7 +124,10 @@ jobs:
117124
run: |
118125
wget https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-boost-1.92.0-3-any.pkg.tar.zst
119126
echo "8d5a7621778e955a52755940fe16ead78c0e57a2ff443418b43c25388df1ba2a mingw-w64-x86_64-boost-1.92.0-3-any.pkg.tar.zst" | sha256sum -c
120-
pacman -U --noconfirm mingw-w64-x86_64-boost-1.92.0-3-any.pkg.tar.zst
127+
wget https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-boost-libs-1.92.0-3-any.pkg.tar.zst
128+
echo "832ee9a748c387fc70e0fb90f3bd6d513db627d3c283512123aeb904f4b2dc5a mingw-w64-x86_64-boost-libs-1.92.0-3-any.pkg.tar.zst" | sha256sum -c
129+
# boost-libs in the repo is a newer rebuild that needs the split gcc runtime
130+
pacman -U --noconfirm mingw-w64-x86_64-boost-1.92.0-3-any.pkg.tar.zst mingw-w64-x86_64-boost-libs-1.92.0-3-any.pkg.tar.zst
121131
122132
- name: Install pybind11 v2.13.6
123133
run: |

‎.github/workflows/test.yml‎

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,13 @@ jobs:
255255
echo "f8e25ea67bb796e7f65550f0dca9fce4cdde8aaa3dadafe4d13c6a8233c8de26 mingw-w64-x86_64-gcc-libs-16.2.0-3-any.pkg.tar.zst" | sha256sum -c
256256
wget https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-gcc-16.2.0-3-any.pkg.tar.zst
257257
echo "8b37c953ae12f3d8fa05c854236463231ea0a294dff423007cbd93d4d8089f9f mingw-w64-x86_64-gcc-16.2.0-3-any.pkg.tar.zst" | sha256sum -c
258+
# gcc-libs is split into libgcc, libstdc++ and cc-libs since 16.2.0-4 and the
259+
# new packages conflict with the pinned gcc-libs, so drop them before the downgrade
260+
for p in libgcc libstdc++ cc-libs; do
261+
if pacman -Q mingw-w64-x86_64-$p > /dev/null 2>&1; then
262+
pacman -Rdd --noconfirm mingw-w64-x86_64-$p
263+
fi
264+
done
258265
pacman -U --noconfirm \
259266
mingw-w64-x86_64-headers-14.0.0.r375.g9c1abbbf5-1-any.pkg.tar.zst \
260267
mingw-w64-x86_64-crt-14.0.0.r375.g9c1abbbf5-1-any.pkg.tar.zst \
@@ -288,7 +295,10 @@ jobs:
288295
run: |
289296
wget https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-boost-1.92.0-3-any.pkg.tar.zst
290297
echo "8d5a7621778e955a52755940fe16ead78c0e57a2ff443418b43c25388df1ba2a mingw-w64-x86_64-boost-1.92.0-3-any.pkg.tar.zst" | sha256sum -c
291-
pacman -U --noconfirm mingw-w64-x86_64-boost-1.92.0-3-any.pkg.tar.zst
298+
wget https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-boost-libs-1.92.0-3-any.pkg.tar.zst
299+
echo "832ee9a748c387fc70e0fb90f3bd6d513db627d3c283512123aeb904f4b2dc5a mingw-w64-x86_64-boost-libs-1.92.0-3-any.pkg.tar.zst" | sha256sum -c
300+
# boost-libs in the repo is a newer rebuild that needs the split gcc runtime
301+
pacman -U --noconfirm mingw-w64-x86_64-boost-1.92.0-3-any.pkg.tar.zst mingw-w64-x86_64-boost-libs-1.92.0-3-any.pkg.tar.zst
292302
293303
- name: Install pybind11 v2.13.6
294304
run: |

0 commit comments

Comments
 (0)