nunchuk-io / nunchuk-desktop

GNU General Public License v3.0
74 stars 10 forks source link

Can't execute the AppImage #28

Open Brice123456789 opened 1 year ago

Brice123456789 commented 1 year ago

On Kubuntu 22.04, I dezipped the downloaded file for Linux, then the execution of the .AppImage does not work.

The file is executable. Other AppImages work perfectly.

nunchuk-linux-v1.9.13.zip nunchuk-linux-1.9.13.AppImage

tongvanlinh commented 1 year ago

@Brice123456789 17

Ubuntu 22.04 will no longer ship with the libfuse2 package by default. The AppImage distribution (and more generally, all existing AppImage's) are built expecting libfuse2 support. This means that AppImage's will not run on Ubuntu 22.04 by default.

Could you try this command by manually before run nunchuk (to install libfuse2): sudo apt install libfuse2*

Brice123456789 commented 1 year ago

It says libfuse2 is already installed (2.9.9-5ubuntu3)...

tongvanlinh commented 1 year ago

@Brice123456789 could you capture error when nunchuk Applmage started then share me? It may help me find out the way

Brice123456789 commented 1 year ago

It says "Segmentation fault (core dumped)"

Nothing more.

MrPeteypoo commented 1 year ago

Hi, I encountered the same behaviour on the latest Fedora Silverblue. I have fuse installed and don't really have a descriptive error. I'll try it on my OpenSUSE MicroOS install later to see if it works there.

poops@ifrit ~/D/nunchuk-linux-1.9.14 [1]> rpm-ostree install fuse
error: "fuse" is already provided by: fuse-2.9.9-14.fc36.x86_64. Use --allow-inactive to explicitly require it.
poops@ifrit ~/D/nunchuk-linux-1.9.14 [1]> rpm-ostree install "fuse-*"
error: "fuse-*" is already provided by: fuse-common-3.10.5-2.fc36.x86_64 fuse-libs-2.9.9-14.fc36.x86_64 fuse-overlayfs-1.9-6.fc36.x86_64. Use --allow-inactive to explicitly require it.
poops@ifrit ~/D/nunchuk-linux-1.9.14 [1]> ./nunchuk-linux-1.9.14.AppImage
fish: Job 1, './nunchuk-linux-1.9.14.AppImage' terminated by signal SIGSEGV (Address boundary error)
MrPeteypoo commented 1 year ago

Here's a call stack generated on Fedora Silverblue

(gdb) bt
#0  0x0000000001154cc4 in EC_GROUP_order_bits ()
#1  0x00007fffa43617dd in engine_unlocked_init () from /lib64/libcrypto.so.3.0.5
#2  0x00007fffa4367038 in ENGINE_init () from /lib64/libcrypto.so.3.0.5
#3  0x00007fffa439e2b1 in int_ctx_new () from /lib64/libcrypto.so.3.0.5
#4  0x00007fffd96d5d22 in SSL_CTX_new_ex () from /lib64/libssl.so.3.0.5
#5  0x00007ffff5b36dbf in QSslSocketPrivate::resetDefaultCiphers() () from /tmp/.mount_nunchu6rHMIl/appdir/lib/libQt5Network.so.5
#6  0x00007ffff5b4191d in QSslSocketPrivate::ensureCiphersAndCertsLoaded() () from /tmp/.mount_nunchu6rHMIl/appdir/lib/libQt5Network.so.5
#7  0x00007ffff5b15efe in QSslConfigurationPrivate::defaultConfiguration() () from /tmp/.mount_nunchu6rHMIl/appdir/lib/libQt5Network.so.5
#8  0x00007ffff5b0a8e9 in QSslConfiguration::defaultConfiguration() () from /tmp/.mount_nunchu6rHMIl/appdir/lib/libQt5Network.so.5
#9  0x00007ffff5a530d0 in QNetworkRequest::sslConfiguration() const () from /tmp/.mount_nunchu6rHMIl/appdir/lib/libQt5Network.so.5
#10 0x00007ffff5aac1cd in QNetworkReplyHttpImpl::QNetworkReplyHttpImpl(QNetworkAccessManager*, QNetworkRequest const&, QNetworkAccessManager::Operation&, QIODevice*) () from /tmp/.mount_nunchu6rHMIl/appdir/lib/libQt5Network.so.5
#11 0x00007ffff5a441b0 in QNetworkAccessManager::createRequest(QNetworkAccessManager::Operation, QNetworkRequest const&, QIODevice*) () from /tmp/.mount_nunchu6rHMIl/appdir/lib/libQt5Network.so.5
#12 0x00007ffff5a41744 in QNetworkAccessManager::get(QNetworkRequest const&) () from /tmp/.mount_nunchu6rHMIl/appdir/lib/libQt5Network.so.5
#13 0x000000000095f920 in Draco::exchangeRates() ()
#14 0x00000000008de325 in AppModel::timerFeeRatesHandle() ()
#15 0x00000000008bf6f5 in SCR_LOGIN_ONLINE_Entry(QVariant) ()
#16 0x000000000088ffb4 in QScreenManager::showScreen(st_application_states const*, QVariant) ()
#17 0x0000000000883dad in QQuickViewer::showScreen(unsigned int, QVariant) ()
#18 0x0000000000886011 in QQuickViewer::handleTransition(st_application_states const*, st_application_states const*, QVariant) ()
#19 0x0000000000887647 in QQuickViewer::sendEvent(unsigned int, QVariant) ()
#20 0x0000000000891b18 in EVT_STARTING_APPLICATION_ONLINEMODE_HANDLER(QVariant) ()
#21 0x000000000088749f in QQuickViewer::sendEvent(unsigned int, QVariant) ()
#22 0x0000000000831de3 in main ()
MrPeteypoo commented 1 year ago

I tried on my desktop which is OpenSUSE MicroOS Desktop (KDE) and interestingly it does load on X11 but crashes on startup on Wayland!

image

Here's the Wayland call stack crash, maybe it should be a separate issue?

__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
44            return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
(gdb) bt
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007ffff4c95873 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#2  0x00007ffff4c42816 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3  0x00007ffff4c2b81c in __GI_abort () at abort.c:79
#4  0x00007ffff5285f6c in qErrnoWarning(char const*, ...) () at /tmp/.mount_nunchukpS3tt/appdir/lib/libQt5Core.so.5
#5  0x00007ffff165504f in QtWaylandClient::QWaylandDisplay::checkError() const () at /tmp/.mount_nunchukpS3tt/appdir/lib/libQt5WaylandClient.so.5
#6  0x00007ffff16550de in QtWaylandClient::QWaylandDisplay::flushRequests() () at /tmp/.mount_nunchukpS3tt/appdir/lib/libQt5WaylandClient.so.5
#7  0x00007ffff54a0e39 in QMetaObject::activate(QObject*, int, int, void**) () at /tmp/.mount_nunchukpS3tt/appdir/lib/libQt5Core.so.5
#8  0x00007ffff54cc79e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /tmp/.mount_nunchukpS3tt/appdir/lib/libQt5Core.so.5
#9  0x00007ffff5473c0a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /tmp/.mount_nunchukpS3tt/appdir/lib/libQt5Core.so.5
#10 0x00007ffff547c650 in QCoreApplication::exec() () at /tmp/.mount_nunchukpS3tt/appdir/lib/libQt5Core.so.5
#11 0x0000000000831eee in main ()
asyst0le commented 1 year ago

FWIW, I'm on Fedora 37 and I got the appimage working by installing the compatibility package libssl1.1.

Try running the appimage from the terminal with LD_DEBUG=libs and see what libraries it complains about before the segfault.

MrPeteypoo commented 1 year ago

FWIW, I'm on Fedora 37 and I got the appimage working by installing the compatibility package libssl1.1.

Try running the appimage from the terminal with LD_DEBUG=libs and see what libraries it complains about before the segfault.

You legend! That was the problem on my laptop. I didn't know about that command either so I'll remember it. Weird that we have to install the old OpenSSL but at least it works! I suspect my desktop is encountering a different issue since X11 works but Wayland doesn't.

Funman2 commented 1 year ago

Hey guys, found another way to make nunchuk appimage work on linux ubuntu, so I used an virtual machine, first I installed Ubuntu 20.04.5 LTS (Focal Fossa) which I knew it runs appimages by default, installed Nunchuk, then I upgraded from within the software built in updater to Ubuntu 22.04.1 LTS (Jammy Jellyfish) as a system update. In the End of the update process, when prompted to delete old repositories, files or keep them, i just clicked no, keep old files. Now appimage runs in 22.04 just fine.

cwiggs commented 1 year ago

Anyone get this working in Debian Bookworm? The libssl1.1 package isn't available in the official repos in bookworm.

afds3j8 commented 1 year ago

I am having this issue on Pop!_OS 22.04 LTS. Initially LD_DEBUG=libs ./nunchuk-linux-1.9.20.AppImage got me the following errors showing up before the segmentation faut.

24338:  /lib/x86_64-linux-gnu/libcrypto.so.3: error: symbol lookup error: undefined symbol: EVP_PKEY_base_id (fatal)
24338:  /lib/x86_64-linux-gnu/libssl.so.3: error: symbol lookup error: undefined symbol: SSL_get_peer_certificate (fatal)
24338:  /lib/x86_64-linux-gnu/libcrypto.so.3: error: symbol lookup error: undefined symbol: SSL_get_peer_certificate (fatal)

So I thought maybe it was an issue with libssl as some here had suspected. libssl1.1 is not available on Pop so I installed it with the commands:

wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb
sudo dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb

Now running LD_DEBUG=libs ./nunchuk-linux-1.9.20.AppImage gives me lots of errors like "error: symbol lookup error: undefined symbol: _nss_mdns4_minimal_setspent (fatal)" such as:

24986:  /lib/x86_64-linux-gnu/libnss_mdns4_minimal.so.2: error: symbol lookup error: undefined symbol: _nss_mdns4_minimal_setservent (fatal)
24986:  /lib/x86_64-linux-gnu/libnss_mdns4_minimal.so.2: error: symbol lookup error: undefined symbol: _nss_mdns4_minimal_setsgent (fatal)
24986:  /lib/x86_64-linux-gnu/libnss_mdns4_minimal.so.2: error: symbol lookup error: undefined symbol: _nss_mdns4_minimal_setspent (fatal)
learntheropes commented 1 year ago

Running LD_DEBUG=libs ./nunchuk-linux-1.9.20_8d610a6ee4a3afae910e2f42fbd3fb1c.AppImage on Ubuntu 22.04.3 TLS gives me these errors:

    887865: /usr/bin/AppImageLauncher: error: symbol lookup error: undefined symbol: gtk_progress_get_type (fatal)
    887865: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so: error: symbol lookup error: undefined symbol: g_module_check_init (fatal)
    887865: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so: error: symbol lookup error: undefined symbol: g_module_unload (fatal)
    887865: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so: error: symbol lookup error: undefined symbol: g_io_gvfsdbus_load (fatal)
    887865: /usr/lib/x86_64-linux-gnu/gtk-3.0/modules/libcanberra-gtk-module.so: error: symbol lookup error: undefined symbol: g_module_unload (fatal)
    887865: /usr/lib/x86_64-linux-gnu/gtk-3.0/modules/libcanberra-gtk-module.so: error: symbol lookup error: undefined symbol: gtk_progress_get_type (fatal)
    887865: /usr/lib/x86_64-linux-gnu/gtk-3.0/modules/libcanberra-gtk-module.so: error: symbol lookup error: undefined symbol: gtk_module_display_init (fatal)
    888366: /tmp/.mount_nunchumVbajS/appdir/bin/nunchuk-qt: error: symbol lookup error: undefined symbol: gtk_progress_get_type (fatal)
    888366: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so: error: symbol lookup error: undefined symbol: g_module_check_init (fatal)
    888366: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so: error: symbol lookup error: undefined symbol: g_module_unload (fatal)
    888366: /usr/lib/x86_64-linux-gnu/gio/modules/libgvfsdbus.so: error: symbol lookup error: undefined symbol: g_io_gvfsdbus_load (fatal)
    888366: /usr/lib/x86_64-linux-gnu/gtk-3.0/modules/libcanberra-gtk-module.so: error: symbol lookup error: undefined symbol: g_module_unload (fatal)
    888366: /usr/lib/x86_64-linux-gnu/gtk-3.0/modules/libcanberra-gtk-module.so: error: symbol lookup error: undefined symbol: gtk_progress_get_type (fatal)
    888366: /usr/lib/x86_64-linux-gnu/gtk-3.0/modules/libcanberra-gtk-module.so: error: symbol lookup error: undefined symbol: gtk_module_display_init (fatal)
    888366: /tmp/.mount_nunchumVbajS/appdir/lib/libQt5Qml.so.5: error: symbol lookup error: undefined symbol: qmlmemprofile_stats (fatal)
    888366: /tmp/.mount_nunchumVbajS/appdir/lib/libQt5Qml.so.5: error: symbol lookup error: undefined symbol: qmlmemprofile_clear (fatal)
    888366: /tmp/.mount_nunchumVbajS/appdir/lib/libQt5Qml.so.5: error: symbol lookup error: undefined symbol: qmlmemprofile_enable (fatal)
    888366: /tmp/.mount_nunchumVbajS/appdir/lib/libQt5Qml.so.5: error: symbol lookup error: undefined symbol: qmlmemprofile_disable (fatal)
    888366: /tmp/.mount_nunchumVbajS/appdir/lib/libQt5Qml.so.5: error: symbol lookup error: undefined symbol: qmlmemprofile_push_location (fatal)
    888366: /tmp/.mount_nunchumVbajS/appdir/lib/libQt5Qml.so.5: error: symbol lookup error: undefined symbol: qmlmemprofile_pop_location (fatal)
    888366: /tmp/.mount_nunchumVbajS/appdir/lib/libQt5Qml.so.5: error: symbol lookup error: undefined symbol: qmlmemprofile_save (fatal)
    888366: /tmp/.mount_nunchumVbajS/appdir/lib/libQt5Qml.so.5: error: symbol lookup error: undefined symbol: qmlmemprofile_is_enabled (fatal)
BTCMachineElf commented 1 year ago

Same issue. Fedora 38, nunchuk v1.9.20

LD_DEBUG=libs ./nunchuk.AppImage 10680: /lib64/libssl.so.3.0.9: error: symbol lookup error: undefined symbol: EVP_PKEY_base_id (fatal) 10680: /lib64/libcrypto.so.3.0.9: error: symbol lookup error: undefined symbol: EVP_PKEY_base_id (fatal) 10680: /lib64/libssl.so.3.0.9: error: symbol lookup error: undefined symbol: SSL_get_peer_certificate (fatal) 10680: /lib64/libcrypto.so.3.0.9: error: symbol lookup error: undefined symbol: SSL_get_peer_certificate (fatal)

Like user MrPeteypoo above, it seems I am missing libssl dependencies, but I am unclear how to resolve them in a secure way.

abradshaw commented 1 year ago

Adding the older compat libs fixed this for me on Fedora 38

sudo dnf install openssl1.1-1:1.1.1q-4.fc38.x86_64

BTCMachineElf commented 1 year ago

Adding the older compat libs fixed this for me on Fedora 38

sudo dnf install openssl1.1-1:1.1.1q-4.fc38.x86_64

That did it. Thank you, abradshaw!

SemanticBeeng commented 1 year ago

Also getting "cannot execute binary file" with nunchuk-linux-1.9.21.AppImage and nunchuk-linux-1.9.20.AppImage in Debian 11 inside a QubesOS cube.

Narrowed to "nunchuk-qt error while loading shared libraries: libpulse-mainloop-glib.so"

This fixed it

sudo apt-get install libpulse-mainloop-glib

This also makes the image run but installs many other dependencies.

sudo apt-get install libpulse-dev

PS: judging by the reports in this issue there are quite a few loose ends. The attack surface is broad is not even fully defined. Could the authors manage/inventory the dependencies more strictly to mitigate risks?

heredia21 commented 10 months ago

What's the fix for Pop_OS?

heredia21 commented 10 months ago

I am having this issue on Pop!_OS 22.04 LTS. Initially LD_DEBUG=libs ./nunchuk-linux-1.9.20.AppImage got me the following errors showing up before the segmentation faut.

24338:    /lib/x86_64-linux-gnu/libcrypto.so.3: error: symbol lookup error: undefined symbol: EVP_PKEY_base_id (fatal)
24338:    /lib/x86_64-linux-gnu/libssl.so.3: error: symbol lookup error: undefined symbol: SSL_get_peer_certificate (fatal)
24338:    /lib/x86_64-linux-gnu/libcrypto.so.3: error: symbol lookup error: undefined symbol: SSL_get_peer_certificate (fatal)

So I thought maybe it was an issue with libssl as some here had suspected. libssl1.1 is not available on Pop so I installed it with the commands:

wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb
sudo dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb

Now running LD_DEBUG=libs ./nunchuk-linux-1.9.20.AppImage gives me lots of errors like "error: symbol lookup error: undefined symbol: _nss_mdns4_minimal_setspent (fatal)" such as:

24986:    /lib/x86_64-linux-gnu/libnss_mdns4_minimal.so.2: error: symbol lookup error: undefined symbol: _nss_mdns4_minimal_setservent (fatal)
24986:    /lib/x86_64-linux-gnu/libnss_mdns4_minimal.so.2: error: symbol lookup error: undefined symbol: _nss_mdns4_minimal_setsgent (fatal)
24986:    /lib/x86_64-linux-gnu/libnss_mdns4_minimal.so.2: error: symbol lookup error: undefined symbol: _nss_mdns4_minimal_setspent (fatal)

Did you ever get it working?

Funman2 commented 9 months ago

In my latest Ubuntu version ( Jammy Jellifish), after upgrading from Focal Fossa, i could not execute App Images until installing libfuse, following these steps: https://docs.appimage.org/user-guide/troubleshooting/fuse.html , then it worked.