PolyMeilex / rfd

Rusty File Dialog
MIT License
600 stars 67 forks source link

Linux AppImage generated via GitHub CI crashes when opening dialog #25

Closed sourcebox closed 3 years ago

sourcebox commented 3 years ago

I'm a little bit lost here. When building locally under Linux Mint 20.2 everything is fine. Building an AppImage via GitHub Actions using the ubuntu-18.04 image results in a crash when opening the file dialog:

Gtk:ERROR:../../../../gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /usr/share/icons/Mint-Y/actions/16/image-missing.svg: Bildlader-Modul konnte nicht geladen werden: /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so: /usr/lib/x86_64-linux-gnu/librsvg-2.so.2: undefined symbol: cairo_font_options_get_variations (gdk-pixbuf-error-quark, 5)

So the dialog seems to do something with icons and there is some incompabiility between libraries. I don't expect any solution from you, but maybe you have a better knowledge than me what causes the problem.

You can download the AppImage here: https://github.com/sourcebox/dfu-buddy/releases/tag/0.1.0-alpha2

PolyMeilex commented 3 years ago

Sadly I have no idea how AppImage works, I'm using Flatpak. Looks like it's missing some sort of dependency, or something is in conflict, hard to guess without any knowledge on this

sourcebox commented 3 years ago

This is out of scope of your project. I have to check somewhere else how it can be solved. Maybe by bundling some shared libraries into the AppImage, so they're used instead of the installed ones.

PolyMeilex commented 3 years ago

Searching for something along the lines of GTK3 App In AppImage should hopefully yield some results

sourcebox commented 3 years ago

Just to let you know: I got it running after using a plugin for the linuxdeploy tool. This bundles a bunch of extra libs into the AppImage. If you're interested in the overall thing, you can have a look at the build script at https://github.com/sourcebox/dfu-buddy/blob/master/.github/workflows/build_linux.yml