Skip to content

fix(ci): build Linux AppImage on Ubuntu 22.04#1002

Draft
Shriram-Vasudevan wants to merge 2 commits into
eigenwallet:masterfrom
Shriram-Vasudevan:fix-204-linux-appimage-glibc
Draft

fix(ci): build Linux AppImage on Ubuntu 22.04#1002
Shriram-Vasudevan wants to merge 2 commits into
eigenwallet:masterfrom
Shriram-Vasudevan:fix-204-linux-appimage-glibc

Conversation

@Shriram-Vasudevan
Copy link
Copy Markdown

@Shriram-Vasudevan Shriram-Vasudevan commented May 11, 2026

Fixes #204.

Summary

  • build the Linux GUI/AppImage matrix entry on ubuntu-22.04 so bundled system libraries do not inherit Ubuntu 24.04 GLIBC requirements
  • set LINUXDEPLOY_EXCLUDED_LIBRARIES during the Tauri build so linuxdeploy does not bundle the Wayland libraries that trigger the Fedora EGL_BAD_PARAMETER crash
  • add a Linux AppImage compatibility check that extracts the artifact, rejects those bundled Wayland libraries if they remain, and fails if bundled files require symbols newer than Debian 12 (GLIBC_2.36, GLIBCXX_3.4.30)
  • update the Linux install note to describe the AppImage target as Ubuntu 22.04 / Debian 12 and newer

Testing

  • git diff --check
  • Ruby YAML parse for all workflows and composite action files
  • bash -n on the AppImage compatibility shell block
  • go run github.com/rhysd/actionlint/cmd/actionlint@latest .github/workflows/build-gui-release-binaries.yml
  • cd docs && corepack enable && yarn install --immutable && yarn build

I could not run the full Tauri release build locally; this needs the GitHub Actions Linux runner environment. The PR checks currently require maintainer approval for forked workflow execution.

@ValdikSS
Copy link
Copy Markdown

ValdikSS commented May 11, 2026

Well it won't work on Fedora I suppose?
It used to be built on Ubuntu 22.04, but it has been reverted.
c8158ea2e2f06c

See #204 (comment), point 2

@Shriram-Vasudevan
Copy link
Copy Markdown
Author

Thanks, you were right. I added follow-up commit 74d60faa for point 2 from the issue comment.

What changed:

  • The Tauri build now sets LINUXDEPLOY_EXCLUDED_LIBRARIES for libwayland-client.so.0*, libwayland-cursor.so.0*, libwayland-egl.so.1*, and libwayland-server.so.0*, so linuxdeploy excludes those before the AppImage/updater artifacts are generated.
  • The AppImage compatibility check now extracts the artifact and fails if any of those Wayland libraries are still bundled under squashfs-root/usr/lib.

I used the linuxdeploy exclusion path instead of post-processing the AppImage afterward because Tauri also generates updater signatures and release artifacts from the built bundle; changing the AppImage after that would risk stale signatures/uploads.

Verified locally:

  • git diff --check
  • Ruby YAML parse for all workflow/composite action files
  • bash -n on the AppImage compatibility shell block
  • go run github.com/rhysd/actionlint/cmd/actionlint@latest .github/workflows/build-gui-release-binaries.yml

I still cannot run the full Linux AppImage build locally, so the actual bundle check needs the GitHub Actions runner. The forked workflow runs are currently action_required, so they likely need maintainer approval before CI can execute.

@Einliterflasche
Copy link
Copy Markdown

Per our AI policy we require all communication to be exclusively human written. Until this requirement is met, we can't spare the effort to review this. Violations of this rule will result in a ban.

@Einliterflasche
Copy link
Copy Markdown

Whatever this is, we definitely cannot accept a PR which you haven't even tested yourself.

@Einliterflasche Einliterflasche marked this pull request as draft May 12, 2026 12:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[0.5 XMR] AppImage only works on latest ubuntu due to GLIBC requirement

3 participants