From 60eee592e5e7d026bf0657d63214a7d28b877bf3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 26 Sep 2026 08:18:04 -0400 Subject: [PATCH] CI: Test disabling MSYS2 pacman -Syu to bisect toolchain regression (not for merge) Diffing the exact "Packages (N)" resolution lines pacman printed in the last passing OSGeo4W run (2026-09-24) against the first failing one (2026-09-25) shows every installed MSYS2/mingw64 package identical except one family: mingw-w64-x86_64-crt/headers/tools/libmangle/ libwinpthread/winpthreads/winstorecompat, which moved from git snapshot r420.g61d40c4c0 to r426.g4564ee4b5. These are mingw-w64's own rolling git-snapshot packages (no stable/versioned alternative exists), pulled in by gcc/toolchain and forced to the latest snapshot by this workflow's unconditional `update: true` (a full pacman -Syu before installing requested packages). A separate exports/imports diff of gdal313.dll, libcurl.dll, and libssl/libcrypto (old vs new OSGeo4W builds, via dumpbin) found no removed symbols relevant to any osgeo Python binding, ruling out the GDAL package bump that happened in the same window as an unrelated coincidence. This sets update: false to check whether skipping the pacman sync (and thus not pulling the newer crt/headers/winpthreads snapshot) avoids the "DLL load failed... procedure could not be found" crash when ctypes loads grass_gis.8.6.dll. Temporary, for CI investigation only. Co-Authored-By: Claude Sonnet 5 --- .github/workflows/osgeo4w.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 96b5a6bb9aa..7a1c47fad62 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -42,7 +42,13 @@ jobs: with: path-type: inherit location: D:\ - update: true + # CI diagnostic, not for merge: skip pacman -Syu to see whether + # avoiding the latest mingw-w64 crt/headers/winpthreads git + # snapshot (the only packages that changed between the last + # passing run and the first failing one) fixes the DLL load + # crash. See the sibling gdal313.dll/dumpbin diagnostic PR + # for the exports/imports analysis that ruled out GDAL/OpenSSL. + update: false msystem: MINGW64 install: >- bison