question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Bundling gtk in AppImage causes errors in some distros.

See original GitHub issue

We are creating AppImage for rustdesk, which can greatly improve the user experience using it. We use appimage-builder to create the AppImage and follow the instructions on offical website of appimage-builder. However, the AppImage can only run successfully in a part of distros. I highly doubt there is some issue when bundling gtk in AppImage, causing critical errors with different version of X11.

Build Env: Ubuntu 18.04 Tested: Ubuntu 18.04(works), Ubuntu 20.04(works), Kubuntu 22.04(works), Manjaro 21.2.6(some works, some is not working, causing gnutls 3_6 not symbol found), Fedora 36 workstation(GNOME wayland) (not working, core dumped).

The AppImageBuilder.yml is here. I use gdb on Fedora 36 workstation to trace the issue, the backtrace is shown below:

(gdb) bt
#0  0x00007ffff1851fc1 in ?? () from /tmp/.mount_RustDeu7cpf2//usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007ffff185305c in g_log_default_handler () from /tmp/.mount_RustDeu7cpf2//usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff18532e2 in g_logv () from /tmp/.mount_RustDeu7cpf2//usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff185343f in g_log () from /tmp/.mount_RustDeu7cpf2//usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007ffff210e4f9 in ?? () from /tmp/.mount_RustDeu7cpf2//usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#5  0x00007ffff210eb5c in ?? () from /tmp/.mount_RustDeu7cpf2//usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#6  0x00007ffff211297b in g_settings_get_enum () from /tmp/.mount_RustDeu7cpf2//usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#7  0x00007ffff5494edf in ?? () from /tmp/.mount_RustDeu7cpf2//usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#8  0x00007ffff5496148 in ?? () from /tmp/.mount_RustDeu7cpf2//usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#9  0x00007ffff549072e in ?? () from /tmp/.mount_RustDeu7cpf2//usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#10 0x00007ffff5435d5d in gdk_display_manager_open_display () from /tmp/.mount_RustDeu7cpf2//usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#11 0x00007ffff702f69a in gtk_init_check () from /tmp/.mount_RustDeu7cpf2//usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#12 0x00007ffff702f6c9 in gtk_init () from /tmp/.mount_RustDeu7cpf2//usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#13 0x00005555554d1a9d in ?? ()
#14 0x00005555554be0e3 in ?? ()
#15 0x00005555554d5bcc in main ()

Is it OK to bundle the whole of libgtk-3-0 in AppImage(it’s added by appimage-builder --generate automatically)? This package brings lots of dependencies(like gnutls, libglib-2.0), which causes conflict with some systems.

Issue Analytics

  • State:open
  • Created a year ago
  • Comments:7 (2 by maintainers)

github_iconTop GitHub Comments

2reactions
azubietacommented, Jun 13, 2022

libnsl is part of glibc on Ubuntu based systems but Fedora people move it into another package therefore is not present in the system when the AppImage runs. A solution would be to move libnsl.so.1 from opt/libc to /lib/x86_64-linux-gnu/libnsl.so.1 (you can use a cp command for this in the after bundle, if you use the include file it will also put it in opt/libc).

We should implement this solutions as part of appimage-builder soon.

1reaction
maverick74commented, Jul 11, 2022
Read more comments on GitHub >

github_iconTop Results From Across the Web

Bundling GTK3 dependencies in AppImage
I'm packaging a GTK based application using linuxdeploy on an Ubuntu 18.04 VirtualBox environment. The resulting AppImage runs on Ubuntu ...
Read more >
AppImage created with Qt and linuxdeployqt with gtk3 plugin ...
The created AppImage runs without any problem on any Linux ... to run my app from terminal on any Gnome 4 based distro,...
Read more >
Release 1.0.0 - appimage-builder
In this page is explained how to build an AppImage for a simple Qt/Qml application. The tutorial is meant to be per- formed...
Read more >
Crash on opening current appimages off master - Inkscape
Download the appimage off b530929e; Extract from zip and run. What happened? Run experimental bundle that bundles everything ** (process:9015): ...
Read more >
BuildAndDeploymentEnvironment - Wildfire Games
The sh-script on Linux/*nix/OSX runs the compilation of some ... AppImage # The linuxdeploy gtk plugin is required for Atlas to work wget...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found