From d2e47fa50c86a851c33209b448677dae0012eb8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Fri, 25 Sep 2026 22:01:24 -0400 Subject: [PATCH 1/2] CI: Add diagnostic step to bisect OSGeo4W gdal regression (not for merge) Test whether reverting gdal and python3-gdal from the newly rebuilt 3.13.3-2 to the previously working 3.13.3-1 fixes the "DLL load failed... The specified procedure could not be found" ImportError seen when importing osgeo.gdal in the OSGeo4W CI job since 2026-09-25. Temporary, for CI investigation only. Co-Authored-By: Claude Sonnet 5 --- .github/workflows/osgeo4w.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 96b5a6bb9aa..281201b89ff 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -98,6 +98,24 @@ jobs: sqlite3-devel zstd-devel + - name: "[CI diagnostic, not for merge] Revert gdal/python3-gdal to last known-good 3.13.3-1" + # Bisects the 2026-09-25 OSGeo4W regression (gdal 3.13.3-1 -> 3.13.3-2) + # by force-installing the previous build over the freshly installed one. + shell: pwsh + env: + O4WROOT: ${{ steps.osgeo4w.outputs.root }} + run: | + $ErrorActionPreference = 'Stop' + $base = 'https://download.osgeo.org/osgeo4w/v2/x86_64/release/gdal' + foreach ($pkg in @('gdal', 'python3-gdal')) { + $file = "$pkg-3.13.3-1.tar.bz2" + $url = "$base/$pkg/$file" + Write-Output "Downloading $url" + Invoke-WebRequest $url -OutFile $file + Write-Output "Extracting $file over $env:O4WROOT (overwrites the 3.13.3-2 build)" + tar -xjf $file -C $env:O4WROOT + } + - name: Set number of cores for compilation run: | echo "MAKEFLAGS=-j$(nproc)" >> "${GITHUB_ENV}" From edc383ad0fab158d504d100a1f83b870b2ed8197 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Fri, 25 Sep 2026 22:24:21 -0400 Subject: [PATCH 2/2] CI: Fix package name/URL for gdal313-runtime revert (not for merge) gdal313.dll ships in the gdal313-runtime package, not in the gdal package (which only provides CLI tools); the previous commit's URL also had a duplicated path segment, causing a 404. Co-Authored-By: Claude Sonnet 5 --- .github/workflows/osgeo4w.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 281201b89ff..dcf30d6542e 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -106,8 +106,9 @@ jobs: O4WROOT: ${{ steps.osgeo4w.outputs.root }} run: | $ErrorActionPreference = 'Stop' + # gdal313.dll ships in gdal313-runtime, not in the gdal package itself. $base = 'https://download.osgeo.org/osgeo4w/v2/x86_64/release/gdal' - foreach ($pkg in @('gdal', 'python3-gdal')) { + foreach ($pkg in @('gdal313-runtime', 'python3-gdal')) { $file = "$pkg-3.13.3-1.tar.bz2" $url = "$base/$pkg/$file" Write-Output "Downloading $url"