From f5ad546c62724ac8c8961af2f63ee6d88521b60a Mon Sep 17 00:00:00 2001 From: Kawa Date: Fri, 28 Aug 2026 15:19:32 +0200 Subject: [PATCH] fix: generate en_US.UTF-8 for makensis, C.UTF-8 needs glibc 2.35+ C.UTF-8 is a glibc built-in only from 2.35 (Debian 12+) onward; on an older Debian runner setlocale() silently falls back to POSIX, which is exactly the "main argv conversion failed!" crash from before. Install locales and generate en_US.UTF-8 explicitly instead, which works on any Debian version. Co-Authored-By: Claude Sonnet 5 --- .gitea/workflows/release.yml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 34fc636..46debde 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -62,7 +62,10 @@ jobs: run: | sudo dpkg --add-architecture i386 sudo apt-get update - sudo apt-get install -y jq wine + sudo apt-get install -y jq wine locales + # C.UTF-8 is glibc >=2.35 only (Debian 12+); en_US.UTF-8 works on any + # Debian version and just needs generating once. + sudo locale-gen en_US.UTF-8 - name: Ensure PowerShell # Debian ships no snapd by default, so this pulls Microsoft's portable @@ -83,12 +86,11 @@ jobs: shell: pwsh env: TAG: ${{ steps.vars.outputs.tag }} - # Wine's argv conversion aborts with ERR_ELECTRON_BUILDER_CANNOT_EXECUTE + # makensis's argv conversion aborts with ERR_ELECTRON_BUILDER_CANNOT_EXECUTE # / "main argv conversion failed!" under the C/POSIX locale that a - # minimal Debian box defaults to. C.UTF-8 is a glibc built-in, no - # locale-gen needed. - LANG: C.UTF-8 - LC_ALL: C.UTF-8 + # minimal Debian box defaults to. en_US.UTF-8 is generated above. + LANG: en_US.UTF-8 + LC_ALL: en_US.UTF-8 run: ./scripts/build-release.ps1 -Targets win,linux-appimage -Tag $env:TAG - name: Log in to git.azuze.fr