Skip to content

docs(readme): add Building on Linux section with per-distro deps#134

Merged
Nic-dorman merged 1 commit into
mainfrom
docs/linux-build-instructions
May 19, 2026
Merged

docs(readme): add Building on Linux section with per-distro deps#134
Nic-dorman merged 1 commit into
mainfrom
docs/linux-build-instructions

Conversation

@Nic-dorman
Copy link
Copy Markdown
Contributor

Summary

Closes #94. Document per-distro Linux build dependencies and the AppImage caveat on Arch.

Reproduced #94 on a fresh Arch container. The reporter's generic failed to run linuxdeploy hides a cascade of upstream issues in linuxdeploy / linuxdeploy-plugin-gtk that surface on Arch but not Ubuntu (where our CI builds). .deb and .rpm bundles build cleanly across every distro tried; only AppImage trips.

What the cascade looks like on Arch

  1. xdg-utils not in base — Tauri's bundler pre-checks for /usr/bin/xdg-open (it copies the binary into the AppImage) and aborts with xdg-open binary not found on newer Tauri. Older Tauri (what the reporter ran on v0.7.0) doesn't pre-check, so this leaks through as the generic failed to run linuxdeploy later.
  2. fuse2 not in baselinuxdeploy is itself an AppImage; without libfuse.so.2 it can't self-mount: dlopen(): error loading libfuse.so.2.
  3. linuxdeploy's bundled strip is too old — fails on modern Arch libraries with unknown type [0x13] section .relr.dyn. Workaround: NO_STRIP=true.
  4. linuxdeploy-plugin-gtk hard-codes /usr/lib/gdk-pixbuf-2.0/2.10.0/ — modern Arch's gdk-pixbuf2 deliberately ships zero loader plugins at that path (Arch splits each format into its own package). Plugin exits with cp: cannot stat '/usr/lib/gdk-pixbuf-2.0/2.10.0': No such file or directory. This one is upstream's bug — not fixable from this repo.

So docs only, no code change. README gains a Building on Linux section pointing Arch users at --bundles deb,rpm or the prebuilt AppImage from Releases.

Test plan

  • Markdown renders correctly on GitHub
  • Arch deps list installs cleanly: pacman -S --needed base-devel rust nodejs npm git wget file patchelf desktop-file-utils webkit2gtk-4.1 libappindicator-gtk3 librsvg fuse2 xdg-utils (verified in the repro container)
  • npm run tauri build -- --bundles deb,rpm produces both bundles on Arch (verified)

🤖 Generated with Claude Code

Closes #94.

Reproduced the reported failure on a clean Arch container. The generic
"failed to run linuxdeploy" hides a cascade of upstream linuxdeploy /
linuxdeploy-plugin-gtk Arch incompatibilities. .deb and .rpm bundles
build fine on every distro; only AppImage breaks on Arch.

Document:
- Debian/Ubuntu (the supported path; our CI runs here)
- Fedora/RHEL package names
- Arch package list + the --bundles deb,rpm workaround, with the AppImage
  caveat (recommend prebuilt from Releases)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Nic-dorman Nic-dorman merged commit 64fa312 into main May 19, 2026
2 checks passed
@Nic-dorman Nic-dorman deleted the docs/linux-build-instructions branch May 19, 2026 09:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Error failed to bundle project failed to run linuxdeploy

1 participant