From d489338bc464b8e9e61fc01d0769eaf0c798de37 Mon Sep 17 00:00:00 2001 From: Shaun Arman Date: Tue, 31 Mar 2026 11:52:10 -0500 Subject: [PATCH] =?UTF-8?q?fix:=20arm64=20linux=20cross-compilation=20?= =?UTF-8?q?=E2=80=94=20add=20multiarch=20and=20pkg-config=20env=20vars?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The linux-arm64 runner runs an x86_64 Docker container so cross-compilation requires the ARM64 sysroot via dpkg --add-architecture arm64, gcc-aarch64-linux-gnu, and arm64 variants of all system libraries. PKG_CONFIG env vars point to the aarch64 library paths so Tauri can find webkit/gtk/etc at compile time. --- .gitea/workflows/release.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 57286125..1e6b678b 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -158,13 +158,21 @@ jobs: git checkout FETCH_HEAD - name: Install dependencies run: | + # Enable arm64 multiarch so apt can install aarch64 libraries for cross-compilation + dpkg --add-architecture arm64 apt-get update -qq && apt-get install -y -qq \ - libwebkit2gtk-4.1-dev libssl-dev libgtk-3-dev \ - libayatana-appindicator3-dev librsvg2-dev patchelf \ + gcc-aarch64-linux-gnu \ + libwebkit2gtk-4.1-dev:arm64 libssl-dev:arm64 libgtk-3-dev:arm64 \ + libayatana-appindicator3-dev:arm64 librsvg2-dev:arm64 patchelf \ pkg-config curl perl curl -fsSL https://deb.nodesource.com/setup_22.x | bash - apt-get install -y nodejs - name: Build + env: + CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER: aarch64-linux-gnu-gcc + PKG_CONFIG_SYSROOT_DIR: / + PKG_CONFIG_LIBDIR: /usr/lib/aarch64-linux-gnu/pkgconfig:/usr/share/pkgconfig + PKG_CONFIG_ALLOW_CROSS: "1" run: | npm ci --legacy-peer-deps rustup target add aarch64-unknown-linux-gnu