DioxusLabs / DioxusLabs/dioxus
Dioxus does not work on some distributions as `librav1e.so.0` and `libSvtAv1Enc.so.2` are not present
- Dominant language
- Rust
- Stars
- 39.1k
- Forks
- 1.9k
- Avg merge
- 4d 10h
- Merged PRs (30d)
- 4
Description
**Problem**
Binaries built using `dx serve` attempt to load `livrav1e.so.0` and `libSvtAv1Enc.so.2` at runtime, which raises problems on distributions where these files aren’t present.
For example:
- I use Void Linux and we have `livrav1e.so.0.6` and `libSvtAv1Enc.so.3`, but not the required files.
- [Ubuntu 26.04 LTS Resolute will have `librav1e.so.0.8`](https://packages.ubuntu.com/search?suite=resolute&arch=any&mode=filename&searchon=contents&keywords=librav1e.so.0) but not `librav1e.so.0`.
- [Arch Linux has `librav1e.so.0.8`](https://archlinux.org/packages/extra/x86_64/rav1e/) and [`libSvtAv1Enc.so.4`](https://archlinux.org/packages/extra/x86_64/svt-av1/), but not the required files.
This occurs with `dioxus-cli` from `cargo-binstall`, and the `curl | sh` method, and built from source.
**Steps To Reproduce**
1. Be on Void Linux, Ubuntu post-24.04, Arch Linux, or another distribution that doesn’t have those two files (I have only tested on Void Linux though).
1. Run `dx new example` using its bare-bones desktop template
1. Run `cd example && dx serve`
1. Observe this error:
```
23:33:05 [dev] Build completed successfully in 53.02s, launching app! 💫
23:33:06 [linux] ./target/dx/example/debug/linux/app/example-79a22a20: error while loading shared libraries: librav1e.so.0: cannot open shared object file: No such file or directory
23:33:06 [dev] Application [linux] exited with error: exit status: 127
```
5. Run `sudo ln -s librav1e.so /lib/librav1e.so.0`
1. Run `dx serve` again
1. Observe the same error, but failing to find `libSvtAv1Enc.so.2`
**Expected behavior**
`dx serve` works.
**Environment:**
- Dioxus version: 0.7.3
- Rust version: 1.93.0
- OS info: Void Linux
- App platform: desktop
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.