Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Call for testing: Official AppImage #21

Closed
brunvonlope opened this issue Apr 1, 2024 · 69 comments
Closed

Call for testing: Official AppImage #21

brunvonlope opened this issue Apr 1, 2024 · 69 comments

Comments

@brunvonlope
Copy link

brunvonlope commented Apr 1, 2024

Hi, @ivan-hc. We are trying to build an official AppImage upstream: https://gitlab.gnome.org/GNOME/gimp/-/merge_requests/1440 😃

Help is appreciated regarding some little bugs.

@ivan-hc
Copy link
Owner

ivan-hc commented Apr 1, 2024

I'm here, for any doubt

@brunvonlope
Copy link
Author

Thanks. What you do to not get any iso-codes or app icon errors? I see that your AppImage output is pretty clean:

image

Do you use some build-time config or path in apprun?


Our WIP AppImage, however, displays errors regarding iso-codes and app icon:

image

@ivan-hc
Copy link
Owner

ivan-hc commented Apr 1, 2024

Mine is not a normal AppImage, it is what I call Archimage, i.e. an Archlinux container into an AppImage, so it come with all it needs to work from the inbuilt arch Linux container.

My workflow depends on the status of the Arch Linux/AUR package, and what you shown is gimp-git, and the AUR package has issues latelly. If you see my latest workflows run, I'm unable to update the daily build because they have an issue about a missing module for Meson.


About errors, you should check this old AppRun I was using with previous deb-based AppImages:

https://github.com/ivan-hc/GIMP-appimage/blob/main/AppRun

I think you should use these on yours:

export GIMP2_LOCALEDIR="${HERE}"/usr/share/locale/
export GIMP2_DATADIR="${HERE}"/usr/share/gimp/2.0/
export GIMP2_SYSCONFDIR="${HERE}"/etc/gimp/2.0/
export GIMP2_PLUGINDIR="${HERE}"/usr/lib/gimp/2.0/
export GIMP3_LOCALEDIR="${HERE}"/usr/share/locale/
export GIMP3_DATADIR="${HERE}"/usr/share/gimp/2.99/
export GIMP3_SYSCONFDIR="${HERE}"/etc/gimp/2.99/
export GIMP3_PLUGINDIR="${HERE}"/usr/lib/gimp/2.99/
export GEGL_PATH="${HERE}"/usr/lib/x86_64-linux-gnu/gegl-0.4/
export BABL_PATH="${HERE}"/usr/lib/x86_64-linux-gnu/babl-0.1/

and maybe

export PKG_CONFIG_PATH="${HERE}"/usr/share/pkgconfig:$PKG_CONFIG_PATH

I don't use them anymore in my Archimages. All of them have the same, being this a container. All the ones based on JuNest, Arch Linux (Archimage) on this list https://github.com/ivan-hc#my-appimage-packages

@brunvonlope
Copy link
Author

Thanks

@brunvonlope
Copy link
Author

About the meson error, this is because we added a new gimp-data submodule. This needs to be initialized before building.

@ivan-hc
Copy link
Owner

ivan-hc commented Apr 1, 2024

About the meson error, this is because we added a new gimp-data submodule. This needs to be initialized before building.

thanks, so should I add other dependences or should I wait that the PKGBUIL is fixed?

@ivan-hc
Copy link
Owner

ivan-hc commented Apr 1, 2024

however, the way you want build the Appimage is better than mine, mine is a container, so it can't do things such as open a URL in the browser (for now)

@brunvonlope
Copy link
Author

thanks, so should I add other dependencies or should I wait that the PKGBUIL is fixed?

Until the downstreamers take some action onto PKGBUILD, you can do:
git submodule update --init, before meson, this is enough

@ivan-hc
Copy link
Owner

ivan-hc commented Apr 1, 2024

I think I'll wait until the upstream packager will patch this PKGBUILD, I often receive warnings about failed workflow run with both gimp-git and gimp-devel (the latter less, seems that the mantainer is more active than the other, also ChaoticAUR uses gimp-devel for its gimp-git package... and this is wrong, in my opinion).

@ivan-hc
Copy link
Owner

ivan-hc commented Apr 3, 2024

once you're at good point, I suggest to repack the AppImage using this version of appimagetool

https://github.com/probonopd/go-appimage/releases/tag/continuous

I use it for all my AppImages. Advantages:

  • even smaller sizes, uses a new kind of compression;
  • all AppImages are what I call (because heard somewhere) "Type3", i.e. no libfuse2 is needed.

Usage:

wget -q $(wget -q $HeaderAuthWithGITPAT https://api.github.com/repos/probonopd/go-appimage/releases -O - | grep -v zsync | grep -i continuous | grep -i appimagetool | grep -i "$(uname -m)" | grep browser_download_url | cut -d '"' -f 4 | head -1) -O appimagetoo
chmod a+x ./appimagetool
ARCH="$(uname -m)" VERSION=$(./appimagetool -v | grep -o '[[:digit:]]*') ./appimagetool -s gimp.AppDir

where gimp.AppDir is the appdir (I guess) of your extracted AppImage

@brunvonlope
Copy link
Author

Thanks 🤝. I'm already using it

@ivan-hc
Copy link
Owner

ivan-hc commented Apr 4, 2024

Hi, I've downloaded the latest release and got stuck at this:

Istantanea_2024-04-04_21-17-14

@ivan-hc
Copy link
Owner

ivan-hc commented Apr 4, 2024

By running it with LD_DEBUG=libs this is the last part of the long log

     22560:	/lib/x86_64-linux-gnu/libxapp.so.1: error: symbol lookup error: undefined symbol: g_string_free_and_steal (fatal)
     22560:	gimp-script-fu-interpreter-3.0: error: symbol lookup error: undefined symbol: gtk_progress_get_type (fatal)
Gtk-Message: 21:19:52.646: Failed to load module "xapp-gtk3-module"

@brunvonlope
Copy link
Author

Are you sure that isn't libgvfs that is causing the stuckness? We have another tester who noticed the lack of libxapp but this wasn't causing stuckness.

@ivan-hc
Copy link
Owner

ivan-hc commented Apr 4, 2024

I can only report what I see, I've googled a bit and found that also Inkscape had a similar issue, due to the old Ubuntu build whith which was built their AppImage.

I use Debian Testing, and "libxapp-gtk3-module" and "libxapp1" are installed on the host. Also gvfs-libs/backend/common/daemon/fuse are installed.

@ivan-hc
Copy link
Owner

ivan-hc commented Apr 4, 2024

I'm trying to tweak your AppRun in several ways since I reported this issue, same message, no way.

May you need to add libgvfsdbus or something? Are you missing an LD_PRELOAD variable to export?

I'm trying also the dirtiest tricks without success.

I also tried to add libunionpreload or tried to share hosts libraries or including PYTHONHOME as a variable... the only thing I can't do is to use the command glib-compile-schemas ./usr/share/glib-2.0/schemas/ || echo "No ./usr/share/glib-2.0/schemas/" that I use in my DEB-based AppImages, because glib-compile-schemas is in conflict with other libraries in Debian Testing, now.

@ivan-hc
Copy link
Owner

ivan-hc commented Apr 4, 2024

UPDATE: I replaced your AppRun with mine

#!/bin/sh
HERE="$(dirname "$(readlink -f "${0}")")"
export UNION_PRELOAD="${HERE}"
export PATH="${HERE}"/usr/bin/:"${HERE}"/usr/sbin/:"${HERE}"/usr/games/:"${HERE}"/bin/:"${HERE}"/sbin/:"${PATH}"
export LD_LIBRARY_PATH="${HERE}"/usr/lib/:"${HERE}"/usr/lib/i386-linux-gnu/:"${HERE}"/usr/lib/x86_64-linux-gnu/:"${HERE}"/usr/lib32/:"${HERE}"/usr/lib64/:"${HERE}"/lib/:"${HERE}"/lib/i386-linux-gnu/:"${HERE}"/lib/x86_64-linux-gnu/:"${HERE}"/lib32/:"${HERE}"/lib64/:"${LD_LIBRARY_PATH}"
export PKG_CONFIG_PATH="${HERE}"/usr/share/pkgconfig:$PKG_CONFIG_PATH
export GIMP2_LOCALEDIR="${HERE}"/usr/share/locale/
export GIMP2_DATADIR="${HERE}"/usr/share/gimp/2.0/
export GIMP2_SYSCONFDIR="${HERE}"/etc/gimp/2.0/
export GIMP2_PLUGINDIR="${HERE}"/usr/lib/gimp/2.0/
export GIMP3_LOCALEDIR="${HERE}"/usr/share/locale/
export GIMP3_DATADIR="${HERE}"/usr/share/gimp/2.99/
export GIMP3_SYSCONFDIR="${HERE}"/etc/gimp/2.99/
export GIMP3_PLUGINDIR="${HERE}"/usr/lib/gimp/2.99/
export GEGL_PATH="${HERE}"/usr/lib/x86_64-linux-gnu/gegl-0.4/
export BABL_PATH="${HERE}"/usr/lib/x86_64-linux-gnu/babl-0.1/
if ! $(exec ${HERE}/usr/bin/gimp "$@" 2> /dev/null); then
	export LD_LIBRARY_PATH=/lib64:/usr/lib:/lib:/usr/lib/x86_64-linux-gnu:/lib/x86_64-linux-gnu/:"${HERE}"/usr/lib/:"${HERE}"/usr/lib/i386-linux-gnu/:"${HERE}"/usr/lib/x86_64-linux-gnu/:"${HERE}"/usr/lib32/:"${HERE}"/usr/lib64/:"${HERE}"/lib/:"${HERE}"/lib/i386-linux-gnu/:"${HERE}"/lib/x86_64-linux-gnu/:"${HERE}"/lib32/:"${HERE}"/lib64/:"${LD_LIBRARY_PATH}"
	exec ${HERE}/usr/bin/gimp-2.99 "$@"  2> /dev/null
fi

and worked

it is the same I linked above, but with gimp 2.99 in /usr/bin instead of gimp

simplescreenrecorder-2024-04-04_22.17.33.mkv.mp4

@ivan-hc
Copy link
Owner

ivan-hc commented Apr 4, 2024

The only issue I had at first start was this

Istantanea_2024-04-04_22-20-41

@ivan-hc
Copy link
Owner

ivan-hc commented Apr 4, 2024

NOTE: I've also launched it "isolated" (command HOME=./ before I launched it) so it can't use my configuration files 😉

@ivan-hc
Copy link
Owner

ivan-hc commented Apr 4, 2024

OK, it was my fault... I had another gimp version installed and the AppImage was taken advantage of it using the if condition at the end of my AppRun

nope, it really does not work

@brunvonlope
Copy link
Author

brunvonlope commented Apr 5, 2024

Thanks for noticing the lack of gio (+gvfs). I updated the AppImage. The latest pipeline now contain gio. Also, includes the xapp module.


Also, the first problems that I commented here (not finding iso-codes and appicon) were solved.

@brunvonlope
Copy link
Author

brunvonlope commented Apr 5, 2024

About the config folder problem, I would suggest to take a look at the latest comment in the MR, this can be helpful to better understand if it is the same problem: https://gitlab.gnome.org/GNOME/gimp/-/merge_requests/1440#note_2073893

@ivan-hc
Copy link
Owner

ivan-hc commented Apr 5, 2024

About the config folder problem, I would suggest ot take a look at the latest comment in the MR, this can be helpful to better understand if it is the same problem: https://gitlab.gnome.org/GNOME/gimp/-/merge_requests/1440#note_2073893

Thanks, I know that the issue is related to /etc into the AppImage (I had this too the early days, when I worked with deb packages to build GIMP).

However, I started this new artifact and the issue is still the same:

/usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so: undefined symbol: g_task_set_static_name
Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so
This is a development version of GIMP.  Debug messages may appear here.

gimp_font_factory_load_names: 78 unsupported fonts were ignored. Set the GIMP_DEBUG_FONTS environment variable for a listing.
set device 'Virtual core XTEST pointer' to mode: disabled
set device 'PIXART USB OPTICAL MOUSE' to mode: disabled
/usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so: undefined symbol: g_task_set_static_name
Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so
/usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so: undefined symbol: g_task_set_static_name
Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so
/usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so: undefined symbol: g_task_set_static_name
Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so
/usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so: undefined symbol: g_task_set_static_name
Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so
/usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so: undefined symbol: g_task_set_static_name
Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so
/usr/lib/x86_64-linux-gnu/gvfs/libgvfscommon.so: undefined symbol: g_task_set_static_name
Failed to load module: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so

before I tried to include the gvfs-related .deb packages from Debian, but I was stuck until "libgvfsdbus.so" (and the xapp* module).

Also, I noticed that the latest times I had to shut down the PC I had "A Start Job run..." issue that delayed my PC... and an amount od CPU usage... finally I discovered that it was gimp-scriptfu that also eats 70-80% of my CPU.

@brunvonlope
Copy link
Author

brunvonlope commented Apr 8, 2024

@ivan-hc The latest commit probably fixed the gvfs warning.

But some systems are complaining about "xdg-run/gvfs". See: https://gitlab.gnome.org/GNOME/gimp/-/merge_requests/1440#note_2075698

@ivan-hc
Copy link
Owner

ivan-hc commented Apr 8, 2024

Just tried the last build and still does not work for me, it stucks, this is the normal output:

This is a development version of GIMP.  Debug messages may appear here.

gimp_font_factory_load_names: 78 unsupported fonts were ignored. Set the GIMP_DEBUG_FONTS environment variable for a listing.
set device 'Virtual core XTEST pointer' to mode: disabled
set device 'PIXART USB OPTICAL MOUSE' to mode: disabled

and this is the last part using LD_DEBUG=libs

3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/sample-colorize/glibc-hwcaps/x86-64-v2/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/sample-colorize/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/screenshot/glibc-hwcaps/x86-64-v3/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/screenshot/glibc-hwcaps/x86-64-v2/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/screenshot/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/script-fu/glibc-hwcaps/x86-64-v3/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/script-fu/glibc-hwcaps/x86-64-v2/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/script-fu/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/script-fu-server/glibc-hwcaps/x86-64-v3/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/script-fu-server/glibc-hwcaps/x86-64-v2/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/script-fu-server/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/selection-to-path/glibc-hwcaps/x86-64-v3/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/selection-to-path/glibc-hwcaps/x86-64-v2/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/selection-to-path/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/smooth-palette/glibc-hwcaps/x86-64-v3/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/smooth-palette/glibc-hwcaps/x86-64-v2/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/smooth-palette/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/sparkle/glibc-hwcaps/x86-64-v3/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/sparkle/glibc-hwcaps/x86-64-v2/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/sparkle/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/sphere-designer/glibc-hwcaps/x86-64-v3/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/sphere-designer/glibc-hwcaps/x86-64-v2/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/sphere-designer/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/tile/glibc-hwcaps/x86-64-v3/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/tile/glibc-hwcaps/x86-64-v2/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/tile/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/tile-small/glibc-hwcaps/x86-64-v3/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/tile-small/glibc-hwcaps/x86-64-v2/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/tile-small/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/unit-editor/glibc-hwcaps/x86-64-v3/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/unit-editor/glibc-hwcaps/x86-64-v2/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/unit-editor/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/van-gogh-lic/glibc-hwcaps/x86-64-v3/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/van-gogh-lic/glibc-hwcaps/x86-64-v2/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/van-gogh-lic/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/warp/glibc-hwcaps/x86-64-v3/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/warp/glibc-hwcaps/x86-64-v2/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/warp/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/wavelet-decompose/glibc-hwcaps/x86-64-v3/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/wavelet-decompose/glibc-hwcaps/x86-64-v2/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/wavelet-decompose/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/web-browser/glibc-hwcaps/x86-64-v3/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/web-browser/glibc-hwcaps/x86-64-v2/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gimp/2.99/plug-ins/web-browser/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/./glibc-hwcaps/x86-64-v3/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/./glibc-hwcaps/x86-64-v2/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/./libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gvfs/glibc-hwcaps/x86-64-v3/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gvfs/glibc-hwcaps/x86-64-v2/libgvfscommon.so
      3476:	  trying file=/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gvfs/libgvfscommon.so
      3476:	
      3476:	
      3476:	calling init: /tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/../../gvfs/libgvfscommon.so
      3476:	
      3476:	
      3476:	calling init: /tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/libgioremote-volume-monitor.so
      3476:	
      3476:	/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/libgioremote-volume-monitor.so: error: symbol lookup error: undefined symbol: g_module_check_init (fatal)
      3476:	/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/libgioremote-volume-monitor.so: error: symbol lookup error: undefined symbol: g_module_unload (fatal)
      3476:	/tmp/.mount_GNU_ImLwtBkB/usr/lib/x86_64-linux-gnu/gio/modules/libgioremote-volume-monitor.so: error: symbol lookup error: undefined symbol: g_io_remote_volume_monitor_load (fatal)

the output is too long to find the exact missing library.

@ivan-hc
Copy link
Owner

ivan-hc commented Apr 8, 2024

My Archimages have only 2 flaws: they have no hardware acceleration and they can't call other applications (for example, they can't open the browser).

The last of these two flaws would also be easy to fix, you would need to find the directories on the host connected to XDG to open applications outside the container. I remember some time ago, with a normal installation of JuNest on Debian, I was able to open other apps installed on the host with Pamac, the graphical frontend of PacMan/YAY.

Only the graphics acceleration would remain to be fixed, but unfortunately I'm alone, and the JuNest developer doesn't seem very convinced in wanting to implement these features, also if there are already similar projects that can do that, for example Conty, WINE AppImage and Distrobox.

I tell you this because Archimages are very simple to compile and have much greater compatibility with the old GNU/Linux distributions, you just need to have at least the 2.6 kernel, which no one uses anymore.

I notice a certain difficulty in trying to compile the Appimage you are trying to create, and in general AppImages are very difficult to create, between environment variables to guess and other mechanisms that instead, using a container, work out of the box.

Since I invented Archimage I have packaged "the impossible", so to speak (GIMP Stable/Dev/GIT, VLC Stable/GIT, MPV, OBS Studio... even Bottles).

It's not a perfect project, but one that needs perfecting, which, I repeat, is difficult when you're alone.

@brunvonlope
Copy link
Author

@ivan-hc Your latest stacktrace is very informative. I probably willn't know what to do with it, but depending on how the thing goes some GIMP core dev can take a look to finalize the AppImage. We're not alone :-), at least in GIMP repo.

About the way I choose to make the AppImage: an official package in the GIMP repo needs to follow certain rules (they are listed in the MR description and I personally like them). Anyway, I have a compromisse in only shipping the AppImage if:

  • it is able to run with all features in the oldest supported Ubuntu (14.04?) and newest (23.10)
  • it is able to run with all features in the newest supported Fedora (39).

But if it can't be deployed with our Debian runner, I'm fine in giving up.

@ivan-hc
Copy link
Owner

ivan-hc commented Apr 8, 2024

Don't give up, there are several ways to package AppImages, trust me. Just because the creator of AppImage dictated a method, doesn't mean it's the only way forward. I didn't follow a conventional path, and you see how many AppImages I created.

PS: in this moment I've tried to launch the browser from my AppImge of GIMP and worked. The internal container needed three libraries from JuNest/Arch Linux (gio-launch-desktop, librt.so* and libgtk-*) and now I'm able to launch the browser.

@ivan-hc
Copy link
Owner

ivan-hc commented Apr 9, 2024

@ivan-hc Your latest stacktrace is very informative. I probably willn't know what to do with it, but depending on how the thing goes some GIMP core dev can take a look to finalize the AppImage. We're not alone :-), at least in GIMP repo.

@brunolopesdsilv Sorry, there was some confusion here (I often use Google Translate). By "being alone" I was referring to me. My packaging method has only me as an assiduous researcher, and only recently someone else participated in the experiments, but nothing significant.

Yet there are many users who use Archimage (for personal use, I guess) https://github.com/ivan-hc/ArchImage

I'm not criticizing your method, it would mean criticizing everyone's, when in fact almost all AppImages, including the ones I use, are made like this, the way you're trying to do it: the classic Appimage's construction.

I'm just saying that my project is one more OPTION, which I think is worth exploring. Just another option, nothing else. If I published it on Github it was to share it with everyone and have it analyzed by those who are more expert than me, and especially from you!

I also wrote this tool for you, hoping to see these days, that are now! When you finally have contacted me!

You say you use Debian as a basis for working on the compatibility of the older and still supported Ubuntu LTS and modern Fedora (for compatibility with GLIBC), I'm using a portable Arch Linux container (with its own GLIBC) and it should work too with distributions dating back more than 10 years.

But the biggest difference is that the AppImage I produced is something I DO NOT INTEND TO KEEP. It is upstream's job to create an official one, until then I can only try to imitate you, but I will never reach your efficiency.

I don't care if everything works in my unofficial AppImage or not, but if I made it (and people appreciated it, it's my most successful AppImage) it's because THIS IS A GIFT THAT I WANT TO GIVE TO YOU, GIMP TEAM, FOR ALL THE AMAZING WORK YOU HAVE DONE SO FAR!

I want you to take care of my creature. I entrust it to you. And if it works more than it should now, I'm happy about that, it will mean there's a lot less work to do. I wanted to push you to create one, and the fact that you and I are talking, here, in my repository, is a huge win! For me and for all users who want an official GIMP AppImage.

I won't stay in software development forever, I don't have the basics, nor a qualification, nor the skills, nor sufficient knowledge to do these things. I have always only worked in supermarkets, at the food counter. What you see here is just a pastime for me, as I am unemployed.

I am honored to have been contacted by you, it was exactly what I wanted: an official AppImage! Made by you!

And as an amateur packager I realized how difficult it is to maintain them, and I am a private citizen, I am not part of your Team or any other project.

I'm not a developer, I'm just someone who wanted to propose an idea to you. And reading "But if it can't be deployed with our Debian runner, I'm fine in giving up"... this really hurts me. It means that I fought in vain to convince you to adopt the AppImage format.

I'm not at all good at compiling from source, if you see my AppImages they are all very simple to create.

I'm rooting for you and I hope you succeed in your endeavor... but please, if you don't succeed, consider other ways. "All roads lead to Rome", right? Don't abandon a goal just because a tree blocks your path, try to go around.

PS: Sorry if I'm so talkative, I really care about the work you are doing, but out of my tools, I don't really know how to help you.

@brunvonlope
Copy link
Author

@ivan-hc I didn't mean to express ingratitude with my last sentence, sorry. In short, what I'm saying is that if the packaging format, after all attempts, doesn't allow us to package in our preferred "development-oriented distro", that's a bad sign and I'm not willing to go much further. We could choose another distro or use your scripts, but this doesn't have parity of integration, simplicity and stability. We've seen this story before in our repos (e.g. JHBuild, Jenkins, macOS in part) and it would probably repeat itself again if afferrero's AppImage or yours were somehow merged. I will not develop this last sentence technically to avoid sounding like criticism.

As I am also unemployed and my programming knowledge is very basic (I am a lawyer), I would particularly prefer the format to "dictate" how to make the AppImage rather than this current brainstorming (linuxdeployqt, appimagetool, go-appimagetool, recipes, etc.). I'm making an MS Store version (which will probably be merged this week) and the experience is being well balanced: the tools are dictated by MS (makepri, makeappx and signtool) but they work after all and leave me free to make relatively simple scripts without using Visual Studio .

I must emphasize that, despite the shortcomings the format has, I understand that this is due to historical reasons (it was the first sandbox-like format) and I do not intend to "fight against" the status quo just to say that GIMP have an AppImage. This is due not only to my principles and the quick history of GIMP building that I explained above but also to the fact that some projects did this, were left without a maintainer and the AppImage was (shamefully) discontinued. I hope I don't have to give up, I still have some things to test. In the worst case, the AppImage will only be for internal use in daily builds, so you can propose your scripts for an official AppImage.

@Samueru-sama
Copy link
Contributor

@Samueru-sama So, I skimmed linuxdeploy repo to get a idea on how it works and I don't see any advantage in the bundling perspective.

Forget linuxdeploy, it is what I was using when I made that comment because I had issue with go-appimage.

AppImage made with linuxdeploy depend on the host libraries and aren't that portable as result, it even still uses the old appimage runtime which is not static and has a dependency to libfuse2, I'm sorry I didn't make that clear when I commented again.

sharun, however, is something that I am very interested. It appears to be able to fix the bug that makes our appimage unportable, as listed in the MR description:

No plug-ins work in another distros (probably related to gimp-spawn or RPATH)

The issue is that the gimp plugins are binaries that gimp itself launches.

What happens is that gimp itself was called by the dynamic linker in the appimage, so gimp is going to use that to find its libraries. but the subsequent binaries launched by gimp won't, this causes them to try to use the dynamic linker of the host.

One hacky way to sort of force those plugins to at least use the libraries of the appimage is to set LD_LIBRARY_PATH to point to the libs in the AppDir, the problem with that is that will still use the host dynamic linker, which means it won't still work everywhere, and also LD_LIBRARY_PATH propagates to everything launched by gimp, even stuff that shouldn't have that set.

So the right solution is to use the dynamic linker again when gimp calls the plugins, which sharun can do and I did here.

@brunvonlope
Copy link
Author

The appimage you were shared uses namespace to run the gimp binary,

The problem with this is that ubuntu disabled access to user namespaces on 24.04, which means the appimage would not work out of the box.

@Samueru-sama I tested the latest artifact (https://gitlab.gnome.org/GNOME/gimp/-/jobs/4502344) and the appimage runned just fine in Ubuntu 24.04 (VM).

Side note: for my surprise, even the C plug-ins worked with the host C library preloading, but that is probably just a miraculous coincidence. It should not work.

@Samueru-sama
Copy link
Contributor

The appimage you were shared uses namespace to run the gimp binary,

The problem with this is that ubuntu disabled access to user namespaces on 24.04, which means the appimage would not work out of the box.

No, what I meant was that I wanted to respond on gitlab because someone shared an appimage on gitlab made from the ubuntu debs. that appimage while it works pretty much anywhere, it uses a namespace to work, which is a problem since that is disabled on 24.04 by default, hence I said "I don't know why I can't log into gitlab so I will respond here." before.

Your appimage with go-appimage does not depend on userns, neither would one using sharun.

Side note: for my surprise, even the C plug-ins worked with the host C library preloading, but that is probably just a miraculous coincidence. It should not work.

It still doesn't work here, since the plugins are trying to use the dynamic linker of my pc.

This can sort of be fixed without sharun by patching a relative interpreter in the plugins, I just did it here so you can check:

All you have to do is cd into the AppDir and run:

for file in ./usr/lib/x86_64-linux-gnu/gimp/3.0/plug-ins/*/*; do patchelf --set-interpreter "./usr/lib64/ld-linux-x86-64.so.2" "$file"; done
chmod +x ./usr/lib64/ld-linux-x86-64.so.2 # for some reason this didn't come with exec perms?

And then add this to the AppRun script we cd "$HERE" after the variable is declared:

image

And finally stop preloading libc and call the interpreter instead, that is the last line is like this:

"$HERE"/usr/lib64/ld-linux-x86-64.so.2 "$HERE"/usr/bin/gimp-3.0 "$@"

And now the appimage works on my system, and even on alpine linux which has no glibc:

image

@Samueru-sama
Copy link
Contributor

Samueru-sama commented Nov 20, 2024

However patching a relative interpreter has its downsides, for one GIMP displays the current working directory as a location in the open image window:

image

So now I have that squashfs-root dir there, so the ideal solution is using sharun, which now probono is also considering here.

@brunvonlope
Copy link
Author

@Samueru-sama Thanks. I tested and your solution solved problems with C plug-ins: https://gitlab.gnome.org/GNOME/gimp/-/jobs/4506100/artifacts/file/build/linux/appimage/_Output/GIMP-3.0.0-RC1+git-x86_64.AppImage

.py, .scm and .vala plug-ins, however, are not working because something is calling host /usr/bin/env which links to a different libc.

@Samueru-sama
Copy link
Contributor

Samueru-sama commented Nov 20, 2024

.py, .scm and .vala plug-ins, however, are not working because something is calling host /usr/bin/env which links to a different libc.

That's because you are exporting LD_LIBRARY_PATH, and it has that problem that makes every binary launched by gimp try to use libraries in the AppImage first.

Just delete LD_LIBRARY_PATH from the AppRun and also remove --library-path "$LD_LIBRARY_PATH" flag down below when you call the dynamic linker since there is no need to use it here, now the env errors are gone:

image

You don't have to define LD_LIBRARY_PATH, you can check that the C plugins (and all binaries in the AppImage) already have their rpath set to look in the libs in the AppDir:

image

@brunvonlope
Copy link
Author

@Samueru-sama Your screenshot displays the same error as mine (with the exception of env) and I guess that you can't run Python plug-ins.

I removed LD_LIBRARY_PATH and --library-path and, as I suspected, didn't work. I highly doubt that this is due to libraries. What I see is GIMP calling host env to find the interpreter.

@Samueru-sama
Copy link
Contributor

Your screenshot displays the same error as mine (with the exception of env) and I guess that you can't run Python plug-ins

It's not the same error then 😄

I don't know what the stack smashing error means though.

I removed LD_LIBRARY_PATH and --library-path and, as I suspected, didn't work. I highly doubt that this is due to libraries. What I see is GIMP calling host env to find the interpreter.

You can call the host /usr/bin/env even if you have a different interpreter, env is used to find binaries in $PATH, which for example gimp already has its own python which is first in PATH since you have export PATH="$HERE"/usr/bin/:"$PATH", so that isn't an issue. And PYTHONHOME is also already set.

With this said, I know sharun sets PYTHONHOME to a $LIB/python* dir, while there are two python dirs in this appimage.

@Samueru-sama
Copy link
Contributor

Samueru-sama commented Nov 21, 2024

Try doing this: patchelf --set-interpreter ./usr/lib64/ld-linux-x86-64.so.2 ./usr/bin/*

It reduced the amount of errors I get now:

image


Also I don't think you need to be setting LIBGL_DRIVERS_PATH and ship the lib/dri dir since as far as I know gtk3 is software rendered, not to mention the variable is deprecated.

@brunvonlope
Copy link
Author

@Samueru-sama Seting the interpreter in bin/ executables definitively fixes the issue. At least python and C plug-ins work so we will probably have an official appimage in RC2 and onwards, which can be even more improved with sharun.


Also I don't think you need to be setting LIBGL_DRIVERS_PATH and ship the lib/dri dir since as far as I know gtk3 is software rendered, not to mention the variable is deprecated.

Yeah, I just ship it otherwise we get annoyed by warnings when opening GTK inspector (which we can't do right now because RC1 acts like a stable version so the "Debug > Inspect GTK" menu doesn't exist)

@Samueru-sama
Copy link
Contributor

Samueru-sama commented Nov 22, 2024

@Samueru-sama Seting the interpreter in bin/ executables definitively fixes the issue. At least python and C plug-ins work so we will probably have an official appimage in RC2 and onwards, which can be even more improved with sharun.

The only thing sharun will improve is avoid the need of changing the current working directory (the cd "$HERE") and also using patchelf to set a relative interpreter.

Btw you don't need to be passing --appimage-extract-and-run in the CI every time you run an appimage, you can instead export APPIMAGE_EXTRACT_AND_RUN=1 and this will do it for all appimages from now on.


Also do not use AppImage/AppImageKit that one is old and deploys the old dynamic appimage runtime that does not work on all linux systems and depends on libfuse2.

Instead use this appimagetool, it has compatible arguements and the only difference is that you need to install zsync and desktop-file-utils since this one does not ship it, and the -n flag disables the appstream validation.

See this example on how I use it

@brunvonlope
Copy link
Author

Maybe I spoke too soon about releasing things.

Seting the interpreter in all binaries with the code below fixes all errors about usr/bin/env and glibc and every plug-in works:

bin_array=($(find "$USR_DIR/bin" "$USR_DIR/$LIB_DIR" -type f -exec head -c 4 {} \; -exec echo " {}" \;  | grep ^.ELF))
for bin in "${bin_array[@]}"; do
  if [[ ! "$bin" =~ 'ELF' ]] && [[ ! "$bin" =~ 'ld-linux' ]]; then
    patchelf --set-interpreter "./usr/lib64/ld-linux-x86-64.so.2" "$bin" >/dev/null 2>&1 || continue
  fi
done

But GIMP takes 10-15 minutes to start, and after the program started every plug-in takes 10s to open when you call them in menus. There is: https://gitlab.gnome.org/GNOME/gimp/-/jobs/4513015/artifacts/file/build/linux/appimage/_Output/GIMP-3.0.0-RC1+git-x86_64.AppImage

Maybe this is due to the polluted RUNPATH that go-appimage creates. To be investigated. We can't release with GIMP official appimage in these conditions.

@Samueru-sama
Copy link
Contributor

Seting the interpreter in all binaries with the code below fixes all errors about usr/bin/env and glibc and every plug-in works:

Make sure that for loop isn't trying to patch libraries, also I think it is better to just check where it went wrong, looks like the binaries that were missing were the binaries in the lib/gvfs dir, better just patch those and see what happens.

Also part of the reason the appimage is slow starting up is because you are using the old appimagetool from appimagekit,

check these out and let me know if they are faster, they are on my PC but the original appimage with the old runtime doesn't take 15 minutes to start and more like 1 minute though while switching to the static runtime and zstd compression cuts that down to 20 seconds and 8 seconds if I use a surprise that I have here:

Using static AppImage runtime with zstd compression

Let me know how fast this one is

The later uses a different runtime that supports dwarfs, which is massively faster than squashfs.

Maybe this is due to the polluted RUNPATH that go-appimage creates

Patchelf also sometimes breaks binaries/elfs, the usage of patchelf can be avoided all together by using sharun,

@brunvonlope
Copy link
Author

@Samueru-sama You are right. After I made the comment I changed to edge appimagetool and was testing how plug-ins work in many distros. The performance is acceptable and we have no crashes anymore. There are the results:

Manjaro: 100% WORKING ✅
Captura de tela 2024-11-23 183916

Fedora: 100% WORKING ✅
Captura de tela 2024-11-23 190832

Mageia: 100% WORKING ✅
Captura de tela 2024-11-23 191654

Ubuntu (24.04): WORKING ✅ (but apparently using system Python)
Captura de tela 2024-11-23 194033

These GTK modules warnings still annoys me because I am bundling them right as far I know bu they are inoffensive.


Gentoo, NixOS and Ubuntu 14.04-18.04 not working due to the well know fusemount error ❌.

@brunvonlope
Copy link
Author

@Samueru-sama By the way what is your GNOME Gitlab username? I would like to ping you in the upcoming MR

@Samueru-sama
Copy link
Contributor

NixOS and Ubuntu 14.04-18.04 not working due to the well know fusemount error ❌.

This is likely because fusermount in those distros isn't located at /usr/bin, you would need to set FUSERMOUNT_PROG="$(command -v fusermount)" and now it should work.

Gentoo

And Gentoo because on gentoo /usr doesn't have read access to the regular user, and the runtime checks if fusermount is SUID which for that it needs read access. it is a bit of an oopsie that happened and it is a known issue lol, however setting FUSERMOUNT_PROG should fix it as well.

The alternative runtime from here should not have those issues btw, and it is even faster than the one you just switched to.

@Samueru-sama By the way what is your GNOME Gitlab username? I would like to ping you in the upcoming MR

samueru

@Samueru-sama
Copy link
Contributor

@brunvonlope Also btw I think you are in contact with the inkscape dev, you should tell them to also update the appimagetool, inkscape uses go-appimage and deploys all the libs but switches to the old appimagetool due to appstream issues, and that has that performance impact and also prevents the appimage from working on more distros.

@brunvonlope
Copy link
Author

brunvonlope commented Nov 23, 2024

FUSERMOUNT_PROG="$(command -v fusermount)"

@Samueru-sama What is "command"? Also, this var is set outside the appimage or in the AppRun file?


I think you are in contact with the inkscape dev

Unfortunately not 🙁. My time is too spare that I devote my open source efforts entirely to upstream gimp

@Samueru-sama
Copy link
Contributor

Samueru-sama commented Nov 23, 2024

What is "command"? Also, this var is set outside the appimage or in the AppRun file?

FUSERMOUNT_PROG is a variable that can be set to point the location of fusermount to a different location than at compile time.

It has to be set outside the appimage though, you can just run export FUSERMOUNT_PROG="$(command -v fusermount)" and now gimp should work on those distros.

edit: If you asked what command is, it is the POSIX equivalent of which.

For the change to be permanent, the user would need to define it in their .bashrc or similar though.

I think you are in contact with the inkscape dev

Unfortunately not 🙁. My time is too spare that I devote my open source efforts entirely to upstream gimp

Oh no problem then.

@Samueru-sama
Copy link
Contributor

Update, the issue that needed FUSERMOUNT_PROG was just fixed: AppImage/type2-runtime#82

However looking at the code it seems that they are still reading the fusermount binary before launching, which means it may still not work on gentoo, but it should work out of the box on Nix and the old distros.

@brunvonlope
Copy link
Author

I still need to test on Ubuntu 16.04. At least on Alpine with just gnome installed, that fix made no difference.

@Samueru-sama
Copy link
Contributor

I still need to test on Ubuntu 16.04. At least on Alpine with just gnome installed, that fix made no difference.

wait you are saying that on alpine you still needed to set FUSERMOUNT_PROG for the AppImage to work?

@brunvonlope
Copy link
Author

I never set that var because I am testing the appimage like a "end user" would use it,

All that being said, maybe I misunderstood the purpose of the fix. They mass closed a lot of issues but in one of them was discussed searching for fudemount in more paths. This wasn't done in the MR?

@Samueru-sama
Copy link
Contributor

I never set that var because I am testing the appimage like a "end user" would use it,

You should not have to set it anymore, since the issue should have been fixed by that recent PR. I assume you remade the appimage in the last 5 hours right (since that's when the updated runtime was released).

The original issue was that the runtime was hardcoded to look for /usr/bin/fusermount* to mount the appimage, which turned out wasn't where it was going to be on all distros, this should have been fixed by now and according to probono it works now on NixOS which has no FHS file structure even.

Before that fix, if fusermount wasn't in that location then you would need to set the variable.

All that being said, maybe I misunderstood the purpose of the fix. They mass closed a lot of issues but in one of them was discussed searching for fudemount in more paths. This wasn't done in the MR?

Now it does search for fusermount in PATH indeed.

@brunvonlope
Copy link
Author

I assume you remade the appimage in the last 5 hours right

Unfortunately not. I have done a build 2 hpurs ago.
According to my logs: appimagetool, which had a release after the runtime release, was updated so I can presume the appimage was built with the latest runtime.

Anyway, does not hurt retriggering a new pipeline. Let's see how it ends.

@ivan-hc
Copy link
Owner

ivan-hc commented Nov 25, 2024

Let's see how it ends.

SPOILER: ends well ;)

@ivan-hc ivan-hc pinned this issue Nov 25, 2024
@Samueru-sama
Copy link
Contributor

If it turns out it doesn't work and command -v fusermount or command -v fusermount3 produces an output, then I need to let probono know it doesn't work still.

Also if it doesn't work, can you check with this other runtime?

@brunvonlope
Copy link
Author

Alpine, nixOS and Ubuntu 16.04 all succeeded on finding libfuse after the fix ✅. Yay.


nixOS, however, did not ended opening GIMP due to GVFS error, somewhat reported by @ivan-hc in #21 (comment):

Captura de tela 2024-11-24 221715

@Samueru-sama
Copy link
Contributor

Samueru-sama commented Nov 25, 2024

Alpine, nixOS and Ubuntu 16.04 all succeeded on finding libfuse after the fix ✅. Yay.

nixOS, however, did not ended opening GIMP due to GVFS error, somewhat reported by @ivan-hc in #21 (comment):

For some reason the gio modules of Nix are called by the appimage and are also trying to use the libraries of the AppImage and you get that glibc error.

You are already exporting GIO_MODULE_DIR so provided it points to the right directory this error should not be happening 🤔

Also if you are shipping the the video drivers you may need to bundle /usr/share/X11/xkb in AppDir and set XKB_CONFIG_ROOT to where you put it in the AppDir.

EDIT: FIxed typo, XKB_CONFIG_ROOT should point to /path/to/share/X11/xkb and not share/X11

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants