Skip to content

Linux desktop build fails on fresh clone: Tauri system dependencies missing from development.md #692

@srikeerthis

Description

@srikeerthis

Summary

Linux is listed as a supported desktop platform in README.md ("Available on all major desktop and mobile platforms: web, iOS, Android, Mac, Linux, and Windows"), docs/architecture.md, docs/roadmap.md, and RELEASE.md (including .deb/.AppImage/.rpm packaging). However, following the Quick Start in development.md on a fresh Linux clone fails because Tauri's Linux system dependencies (GTK/WebKit/libsoup) aren't listed as prerequisites.

Steps to reproduce

Fresh Ubuntu 24.04 machine, no prior Tauri setup. Following development.md Quick Start:

  1. Install Bun, Rust, Docker as listed
  2. Install sccache (required by src-tauri/.cargo/config.toml:2 but not mentioned in Quick Start)
  3. make setup, .env copies, make docker-up — all succeed
  4. cd src-tauri && cargo check

Actual result

cargo check fails with two missing system libraries:

error: failed to run custom build command for javascriptcore-rs-sys v1.1.1
...
The system library javascriptcoregtk-4.1 required by crate javascriptcore-rs-sys was not found.
error: failed to run custom build command for soup3-sys v0.5.0
...
The system library libsoup-3.0 required by crate soup3-sys was not found.

bun tauri:dev:desktop fails with the same root cause. The browser target (bun dev) works correctly without these packages.

Resolution (verified locally)

Installing Tauri's standard Linux prerequisites resolves the build:

sudo apt install libwebkit2gtk-4.1-dev libjavascriptcoregtk-4.1-dev \
  build-essential curl wget file libxdo-dev libssl-dev \
  libayatana-appindicator3-dev librsvg2-dev libsoup-3.0-dev

After installing these on Ubuntu 24.04:

  • cargo check completes successfully (~1m30s cold, ~3s incremental)
  • bun tauri:dev:desktop compiles the full app (~3m cold) and launches the desktop window with Tauri devtools attached

(The launched app surfaces a separate "Failed to reconcile default settings" error at runtime, but that's downstream of this issue and likely environment-specific.)

Suggested fix

Update development.md Quick Start to either:

  1. Inline the Linux prerequisites block above for Ubuntu/Debian, or
  2. Link to Tauri's upstream Linux prerequisites.

Related

  • docs/webview.md notes Linux is "untested" for WebView, which may be why these prereqs were never documented. Worth aligning with the README.md/RELEASE.md claim of Linux support, or flagging the mismatch.
  • sccache is required by src-tauri/.cargo/config.toml but not mentioned in Quick Start — happy to file separately if helpful.

Environment

  • OS: Ubuntu 24.04
  • Commit: 9d9c18ba

Happy to submit a PR.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions