I’m trying to build the fetchit browser from source code, which is a tauri 2 desktop shell.
And I run into two issues:
- How do I add missing required system libraries when building the package?
- How can I tell which libraries I would need? Right now it’s a guessing game.
- How does
npm runwork? I can’t tell whatnpm run tauri devdoes which I was told by ant devs besides runningcargo runfor the tauri source code - How do I get my development shell to support appsink plugin?
Problem #1
$ cargo build -r
...
pkg-config exited with status code 1
> PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 pkg-config --libs --cflags glib-2.0 'glib-2.0 >= 2.70'
...
No package 'glib-2.0' found
The system library `glib-2.0` required by crate `glib-sys` was not found.
...
I don’t know where to find system library glib-2.0.
Problem #2
glib-sys requires package glib. That’s straightforward, but
gio-sys requires package pkg-config and
gdk-sys requires package gtk+
javascriptcoregtk-4.1 requires package webkitgtk-for-gkt3
I’m figuring them out through web searching and guix package -s searching the package name and by trial and error of picking the most likely sounding required package.
Is there a better way of doing this?
Problem #3
I’m trying to figure what exactly is happening here..
$ CC=gcc npm run tauri dev
> fetchit-desktop@0.2.8 tauri
> tauri dev
Running BeforeDevCommand (`npm run dev`)
> fetchit-desktop@0.2.8 dev
> vite
VITE v6.4.2 ready in 252 ms
➜ Local: http://localhost:1420/
Running DevCommand (`cargo run --no-default-features --color always --`)
Info Watching /home/folaht/sur/fetchit-0.2.8/apps/fetchit-desktop/src-tauri for changes...
Compiling camino v1.2.2
...
Problem #4
So I got it running…
unfortunately, when I click on album and then press play on the first Bach song, it quickly fades to white with this error:
$ npm run tauri dev
...
Running `target/debug/fetchit-desktop`
...
GStreamer element appsink not found. Please install it.
GStreamer element autoaudiosink not found. Please install it
(WebKitWebProcess:25478): GLib-GObject-CRITICAL **: 16:46:57.056: invalid (NULL) pointer instance
(WebKitWebProcess:25478): GLib-GObject-CRITICAL **: 16:46:57.056: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
