AppImageCommunity / pkg2appimage

Tool and recipes to convert existing deb packages to AppImage
http://appimage.org
MIT License
684 stars 209 forks source link

libgvfscommon.so: undefined symbol: g_task_set_name #536

Closed chrisbra closed 1 year ago

chrisbra commented 1 year ago

Hey, I am seeing the following behaviour when downloading the Vim-Appimage on my Debian Bullseye system:

0 200287 chrisbra@debian ~/Downloads % ./GVim-v9.0.1363.glibc2.14-x86_64.AppImage
/usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so: undefined symbol: g_task_set_name
Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so
**
GdkPixbuf:ERROR:../gdk-pixbuf/io-bmp.c:732:gdk_pixbuf__bmp_image_begin_load: assertion failed: (size_func != NULL)
Vim: Caught deadly signal ABRT
Vim: Finished.
zsh: abort      ./GVim-v9.0.1363.glibc2.14-x86_64.AppImage

Over at https://github.com/vim/vim-appimage/issues/32 they mention this is a packaging error, missing files /usr/lib/x86_64-linux-gnu/gio/modules/* could that be?

q962 commented 1 year ago

Over at https://github.com/vim/vim-appimage/issues/32 they mention this is a packaging error, missing files /usr/lib/x86_64-linux-gnu/gio/modules/* could that be?

no

It's been a long time, and I forgot what I wanted to express at the beginning.

Pay attention to see: "Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so" The file exists on the host machine, which is wrong.

The plugin works with the gio library, vim.appimage comes bundled with libgio, but the gio plugin is missing. So the gio plugin on the host will call the libgio.so file bundled with vim.appimage.

chrisbra commented 1 year ago

Pay attention to see: "Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so" The file exists on the host machine, which is wrong.

Well, we certainly cannot expect users to uninstall anything before running the appimage, right?

The plugin works with the gio library, vim.appimage comes bundled with libgio, but the gio plugin is missing. So the gio plugin on > the host will call the libgio.so file bundled with vim.appimage.

I tried packaging gio modules in https://github.com/chrisbra/vim-appimage-1/commit/560ae430a59c561296e9e1173ae3c0cd674a9dfb but that did not fix it.

However, Are you saying we should rather blacklist what, libgio? Which one exactly? grafik

Thanks for helpful comments!

q962 commented 1 year ago

I think it's the environment variables.

Try GIO_MODULE_DIR
https://docs.gtk.org/gio/overview.html#running-gio-applications

chrisbra commented 1 year ago

Oh, that seems to work: https://github.com/chrisbra/vim-appimage-1/commit/596968cc9cd32b54e351851a2af4b031927a1a4e

But now i noticed, that this error isn't critical, it's just an error. The actual problem is the

GdkPixbuf:ERROR:../gdk-pixbuf/io-bmp.c:732:gdk_pixbuf__bmp_image_begin_load: assertion failed: (size_func != NULL)
Vim: Caught deadly signal ABRT
Vim: Finished.
zsh: abort      ./GVim-v9.0.1363.glibc2.14-x86_64.AppImage

Which seems to come from the appimage gvim unable to load some of my icon signs

Anyhow, it works now when removing this plugin and I can live without the signs plugin. It should be fine and is no issue for this repo here.

So let me also package the gio plugins and close this issue here.

Thanks!

q962 commented 1 year ago

https://gitlab.gnome.org/GNOME/gtk/-/blob/main/docs/reference/gtk/running.md

Maybe you must package gdk modules : GDK_PIXBUF_MODULE_FILE