Problem
Parakeet transcription models (via sherpa-rs/sherpa-onnx) are currently disabled on Linux because the sherpa-onnx pre-built archive only includes shared libraries (.so), not static libraries (.a). The build uses features = ["static", "download-binaries"] which fails at link time on Linux.
Current workarounds:
- CI uses
--no-default-features to skip Parakeet on Linux
- Nix flake uses
buildNoDefaultFeatures = true
Proposed Solutions
-
Dynamic linking (low effort, ~2-4h) — remove "static" from sherpa-rs features, use ["download-binaries"] only. Ship .so files with the app or require system library. Test if sherpa-rs handles the fallback correctly.
-
System package approach (medium effort, ~4-8h) — use system-provided libsherpa-onnx instead of download-binaries. Cleaner for Nix packaging. Requires packaging for major distros.
-
Upstream contribution (high effort) — request sherpa-onnx to include .a files in Linux releases. Long-term fix but requires coordination.
Code References
- Parakeet backend:
src-tauri/src/transcription/parakeet.rs
- Cargo features:
src-tauri/Cargo.toml (sherpa-rs dependency)
- CI exclusion: commit 5f02ab1
- Nix build:
flake.nix (buildNoDefaultFeatures = true)
Problem
Parakeet transcription models (via sherpa-rs/sherpa-onnx) are currently disabled on Linux because the sherpa-onnx pre-built archive only includes shared libraries (.so), not static libraries (.a). The build uses
features = ["static", "download-binaries"]which fails at link time on Linux.Current workarounds:
--no-default-featuresto skip Parakeet on LinuxbuildNoDefaultFeatures = trueProposed Solutions
Dynamic linking (low effort, ~2-4h) — remove
"static"from sherpa-rs features, use["download-binaries"]only. Ship .so files with the app or require system library. Test if sherpa-rs handles the fallback correctly.System package approach (medium effort, ~4-8h) — use system-provided
libsherpa-onnxinstead ofdownload-binaries. Cleaner for Nix packaging. Requires packaging for major distros.Upstream contribution (high effort) — request sherpa-onnx to include .a files in Linux releases. Long-term fix but requires coordination.
Code References
src-tauri/src/transcription/parakeet.rssrc-tauri/Cargo.toml(sherpa-rs dependency)flake.nix(buildNoDefaultFeatures = true)