asbru-cm/asbru-cm

Appimage doesn't start on OpenSUSE Tumbleweed

Opened this issue · 11 comments

Describe the bug
Asbru AppImage doesn't start on OpenSUSE Tumbleweed (installation is bare metal). The Appimage provided here doesn't work for me so maybe further investigation is required @henry701

To Reproduce
Steps to reproduce the behavior:

  1. Download the custom appimage
  2. Start it via console
Error
(asbru-cm:3080): dbind-WARNING **: 10:58:15.474: AT-SPI: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: Relink `/tmp/.mount_Asbru-yJJugf/usr/lib/libncursesw.so.6' with `/lib64/libc.so.6' for IFUNC symbol `strcpy'
Gtk-Message: 10:58:15.753: Failed to load module "colorreload-gtk-module"
Gtk-Message: 10:58:15.754: Failed to load module "window-decorations-gtk-module"
Fontconfig warning: "/usr/share/fontconfig/conf.avail/05-reset-dirs-sample.conf", line 6: unknown element "reset-dirs"
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: Relink `/tmp/.mount_Asbru-yJJugf/usr/lib/libncursesw.so.6' with `/lib64/libc.so.6' for IFUNC symbol `strcpy'
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: Relink `/tmp/.mount_Asbru-yJJugf/usr/lib/libncursesw.so.6' with `/lib64/libc.so.6' for IFUNC symbol `strcpy'
INFO: Ásbrú Connection Manager 6.4.1 (asbru-cm) started with PID 3080
INFO: Language detected : it_IT.UTF-8, forcing to en_US.UTF-8
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: Relink `/tmp/.mount_Asbru-yJJugf/usr/lib/libncursesw.so.6' with `/lib64/libc.so.6' for IFUNC symbol `strcpy'
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: Relink `/tmp/.mount_Asbru-yJJugf/usr/lib/libncursesw.so.6' with `/lib64/libc.so.6' for IFUNC symbol `strcpy'
Argument "" isn't numeric in addition (+) at /tmp/.mount_Asbru-yJJugf/opt/asbru-cm/asbru-cm line 252.
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: Relink `/tmp/.mount_Asbru-yJJugf/usr/lib/libncursesw.so.6' with `/lib64/libc.so.6' for IFUNC symbol `strcpy'
Argument "" isn't numeric in addition (+) at /tmp/.mount_Asbru-yJJugf/opt/asbru-cm/asbru-cm line 252.
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: Relink `/tmp/.mount_Asbru-yJJugf/usr/lib/libncursesw.so.6' with `/lib64/libc.so.6' for IFUNC symbol `strcpy'
Argument "" isn't numeric in addition (+) at /tmp/.mount_Asbru-yJJugf/opt/asbru-cm/asbru-cm line 252.
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: Relink `/tmp/.mount_Asbru-yJJugf/usr/lib/libncursesw.so.6' with `/lib64/libc.so.6' for IFUNC symbol `strcpy'
Argument "" isn't numeric in addition (+) at /tmp/.mount_Asbru-yJJugf/opt/asbru-cm/asbru-cm line 252.
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-yJJugf/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: Relink `/tmp/.mount_Asbru-yJJugf/usr/lib/libncursesw.so.6' with `/lib64/libc.so.6' for IFUNC symbol `strcpy'
Argument "" isn't numeric in addition (+) at /tmp/.mount_Asbru-yJJugf/opt/asbru-cm/asbru-cm line 252.
INFO: Desktop environment detected : other
INFO: Config directory is '/home/marco/.config/asbru'
Can't get tcp echo port by name at /tmp/.mount_Asbru-yJJugf/opt/asbru-cm/lib/PACMain.pm line 173.

Environment:

  • OS: OpenSUSE Tumbleweed 20230718
  • DE: KDE 5.27.6
  • Kernel: 6.4.3-1-default
  • Wayland
  • Nvidia GPU
  • Ásbrú Version: this

I managed to reproduce it in a clean VM, working on a fix. Will keep status updated here.

I have a workaround, but it requires modifying the filesystem of your system.

The Net::Ping module is having trouble getting the echo port for TCP, because OpenSUSE changed the location of the /etc/services file (which registers ports to services and protocols) to /usr/etc/services and the embedded library inside the AppImage can't know this.

Try running:

sudo ln /usr/etc/services /etc/services

And then start the AppImage again.

This worked here, but I'm thinking about how to fix this inside the AppImage, and whether it's even possible. Will read some documentation about getservbyname later.

@marcogiorgio Does this workaround fix the problem for you?

Hi @henry701,
the workaround you provided works, I am able to start the app.
However, I am experiencing other issues such as:

  • The app doesn't start with the dark theme which is configured as my global theme (not a big issue though)
  • SSH connections don't work, I get this error while attempting to establish a session (both with password and private key authentication):
Error
sh: /tmp/.mount_Asbru-25nfRD/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-25nfRD/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-25nfRD/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-25nfRD/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: Relink `/tmp/.mount_Asbru-25nfRD/usr/lib/libncursesw.so.6' with `/lib64/libc.so.6' for IFUNC symbol `strcpy'
sh: /tmp/.mount_Asbru-25nfRD/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-25nfRD/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-25nfRD/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-25nfRD/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: Relink `/tmp/.mount_Asbru-25nfRD/usr/lib/libncursesw.so.6' with `/lib64/libc.so.6' for IFUNC symbol `strcpy'
sh: /tmp/.mount_Asbru-25nfRD/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-25nfRD/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-25nfRD/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: /tmp/.mount_Asbru-25nfRD/usr/lib/libreadline.so.8: no version information available (required by sh)
sh: Relink `/tmp/.mount_Asbru-25nfRD/usr/lib/libncursesw.so.6' with `/lib64/libc.so.6' for IFUNC symbol `strcpy'

I also had to install at-spi2-core to solve another error before getting this

  • RDP connections don't work, the app complains that it misses both rdesktop and freerdp even though I installed both of them using sudo zypper install freerdp rdesktop

When running from an AppImage, resources located outside of the AppImage are usually not used because they contain installation-specific content.

This is true for themes however there could be some exceptions in place in the code for programs.

I could package an AppImage with rdesktop and freerdp OR adjust the code to look outside of the AppImage for those two specifically if the communication with Asbrú is done using only the CLI. I'll check that later

About the SSH error I will investigate, but maybe it's due to the AppImage using the shell of the host OS instead of one packaged inside the AppImage. Specifically for OpenSUSE there are a lot of relink warnings.

Meanwhile, have you tried running Asbrú without the AppImage after creating the symbolic link (/etc/services)? It should work if the only problem was that Net::Ping problem.

Meanwhile, have you tried running Asbrú without the AppImage after creating the symbolic link (/etc/services)? It should work if the only problem was that Net::Ping problem.

There aren't packages that I can download for OpenSUSE, and the automated script doesn't recognize the OS as a supported distro. Are there any other methods to install it? Should I use the rpm compiled for Fedora?

You could try the RPM compiled for Fedora but maybe it won't work :/

That's why I tried the appimage package. It's the only way to run it on SUSE

That's why I tried the appimage package. It's the only way to run it on SUSE

Not fully correct. If prerequistes are installed on your system (see https://github.com/asbru-cm/asbru-cm/wiki/Manual-installation for hints about what is required), it is a simple as:

$ git clone https://github.com/asbru-cm/asbru-cm.git
$ cd asbru-cm
$ ./absru-cm

Contributors are welcome to prepare a SUSE package.

And thanks a lot for your help on AppImage topic @henry701, much appreciated !

That's why I tried the appimage package. It's the only way to run it on SUSE

Not fully correct. If prerequistes are installed on your system (see https://github.com/asbru-cm/asbru-cm/wiki/Manual-installation for hints about what is required), it is a simple as:

$ git clone https://github.com/asbru-cm/asbru-cm.git
$ cd asbru-cm
$ ./absru-cm

Contributors are welcome to prepare a SUSE package.

And thanks a lot for your help on AppImage topic @henry701, much appreciated !

I tried to install it using this method but I am stuck because I need the perl-Net-ARP package and I can't find a way to install it. SUSE has a lot of perl packages by default but this is not included. I tried to add this repo in order to install the package but I am pretty sure this will break the system, given zypper's output

If you need a Perl package but it's not precompiled for your distro you can install it using CPANM. I do it in the Dockerfile that creates the AppImage.

It's far from ideal because you need to have gcc and some other development tools installed, but it's doable.

I'm away from my PC right now so sorry for vagueness but check the instructions on the original issue where I proposed the Net::Ping downgrade, it will be very similar to those except the cpanm command to install will be just Net::ARP

You can also navigate to dist/appimage-raw/Dockerfile inside the repository to see how some dependencies are installed. The Docker image that builds the AppImage is based on Alpine but the CPANM commands are the same across all platforms.

Not fully correct. If prerequistes are installed on your system (see https://github.com/asbru-cm/asbru-cm/wiki/Manual-installation for hints about what is required), it is a simple as:

$ git clone https://github.com/asbru-cm/asbru-cm.git
$ cd asbru-cm
$ ./absru-cm

Thanks to @henry701 suggestion, I managed to install the missing perl library using cpanm and run asbru directly from the folder downloaded from GIT.
However, every time I open an SSH/RDP session, the program crashes with this error (both in X11 and Wayland):
😢

Error
marco@THOR:~/Scrivania/asbru-cm> ./asbru-cm 
INFO: Ásbrú Connection Manager 6.4.1 (asbru-cm) started with PID 19595
INFO: Language detected : it_IT.UTF-8, forcing to en_US.UTF-8
INFO: Desktop environment detected : other
INFO: Config directory is '/home/marco/.config/asbru'
INFO: Used config file '/home/marco/.config/asbru/asbru.nfreeze'
INFO: Virtual terminal emulator (VTE) version is 0.72
GLib-GObject-CRITICAL **: invalid (NULL) pointer instance at /home/marco/Scrivania/asbru-cm/lib/PACMain.pm line 4924.
GLib-GObject-CRITICAL **: g_signal_handlers_disconnect_matched: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed at /home/marco/Scrivania/asbru-cm/lib/PACMain.pm line 4924.
INFO: Theme directory is '/home/marco/Scrivania/asbru-cm/res/themes/asbru-dark'
INFO: Using Gnome tray icon
Segmentation error (core dump created)