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 <noreply@anthropic.com>
This commit is contained in:
@@ -62,7 +62,10 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
sudo dpkg --add-architecture i386
|
sudo dpkg --add-architecture i386
|
||||||
sudo apt-get update
|
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
|
- name: Ensure PowerShell
|
||||||
# Debian ships no snapd by default, so this pulls Microsoft's portable
|
# Debian ships no snapd by default, so this pulls Microsoft's portable
|
||||||
@@ -83,12 +86,11 @@ jobs:
|
|||||||
shell: pwsh
|
shell: pwsh
|
||||||
env:
|
env:
|
||||||
TAG: ${{ steps.vars.outputs.tag }}
|
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
|
# / "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
|
# minimal Debian box defaults to. en_US.UTF-8 is generated above.
|
||||||
# locale-gen needed.
|
LANG: en_US.UTF-8
|
||||||
LANG: C.UTF-8
|
LC_ALL: en_US.UTF-8
|
||||||
LC_ALL: C.UTF-8
|
|
||||||
run: ./scripts/build-release.ps1 -Targets win,linux-appimage -Tag $env:TAG
|
run: ./scripts/build-release.ps1 -Targets win,linux-appimage -Tag $env:TAG
|
||||||
|
|
||||||
- name: Log in to git.azuze.fr
|
- name: Log in to git.azuze.fr
|
||||||
|
|||||||
Reference in New Issue
Block a user