status-im / status-desktop

Status Desktop client made in Nim & QML
https://status.app
Mozilla Public License 2.0
271 stars 76 forks source link

Opening link doesn't work (arch linux) #8569

Open Menduist opened 1 year ago

Menduist commented 1 year ago

Bug Report

Description

Clicking on a link doesn't do anything. Logs:

exo-open: symbol lookup error: /usr/lib/libgio-2.0.so.0: undefined symbol: g_module_open_full
exo-open: symbol lookup error: /usr/lib/libgio-2.0.so.0: undefined symbol: g_module_open_full
/usr/bin/xdg-open: line 880: x-www-browser: command not found
XPCOMGlueLoad error for file /usr/lib/firefox/libmozgtk.so:
/usr/lib/libgio-2.0.so.0: undefined symbol: g_module_open_full
Couldn't load XPCOM.
/usr/bin/xdg-open: line 880: iceweasel: command not found
/usr/bin/xdg-open: line 880: seamonkey: command not found
/usr/bin/xdg-open: line 880: mozilla: command not found
/usr/bin/xdg-open: line 880: epiphany: command not found
/usr/bin/xdg-open: line 880: konqueror: command not found
/usr/bin/xdg-open: line 880: chromium: command not found
/usr/bin/xdg-open: line 880: chromium-browser: command not found
/usr/bin/xdg-open: line 880: google-chrome: command not found
/usr/bin/xdg-open: line 880: www-browser: command not found
/usr/bin/xdg-open: line 880: links2: command not found
/usr/bin/xdg-open: line 880: elinks: command not found
/usr/bin/xdg-open: line 880: links: command not found
/usr/bin/xdg-open: line 880: lynx: command not found
/usr/bin/xdg-open: line 880: w3m: command not found
xdg-open: no method available for opening 'https://github.com/status-im/status-desktop'

Launching /usr/bin/xdg-open https://github.com/status-im/status-desktop in the command line works fine, though, so not sure what's going on. (mozilla should be firefox, and my chrome is google-chrome-stable, so the hardcoded list doesn't seem to help)

caybro commented 1 year ago

That's an upstream bug, we can't really do anything about this.

Menduist commented 1 year ago

I'm sorry but it doesn't matter where the bug comes from, it remains a bug in your program. You could at least point me to the upstream project so that I can report there, even though it would be better to do it yourself since I have no idea in which context you use it

I'm a dev and I have no idea what to do next to get this basic functionality working, just imagine if I was a end user.

caybro commented 1 year ago

Ok, I don't know archlinux, but on Fedora this is what I get:

ltinkl@zephyrus14:~$ rpm -qf `which xdg-open`
xdg-utils-1.1.3-11.fc36.noarch

You want to open a BR against this package: https://wiki.archlinux.org/title/Xdg-utils#xdg-open

caybro commented 1 year ago

The very same page also tells you how to specify your own web browser:

$ xdg-settings set default-web-browser firefox.desktop
caybro commented 1 year ago

The fact the defaults are broken are really a bug in archlinux :/

Menduist commented 1 year ago

As I said in my original post, launching xdg-open https://github.com/status-im/status-desktop in the terminal works fine, so I think the issue comes from how xdg-open is used. I'll check the default-web-browser setting to be sure

Menduist commented 1 year ago
$ xdg-settings get default-web-browser
firefox.desktop

Also tried switching to chrome, same issue

Menduist commented 1 year ago

Found related issues: https://github.com/AppImage/AppImageKit/issues/1162 https://github.com/gridsync/gridsync/issues/487

caybro commented 1 year ago

Ah, so it actually might be a packaging issue with AppImage... Cc @jrainville

c-blake commented 1 year ago

I also see many undefined symbols, but I also see a lot of ENOENT errors out of the GStreamer interface to ld.so such as (EDIT: I am on Gentoo Linux, but it looks like these things should all be in the part of the App Image that gets mounted: StatusIm-Desktop-v0.8.0-7be712.AppImage on /tmp/.mount_dstimkf0qBg type fuse.StatusIm-Desktop-v0.8.0-7be712.AppImage (ro,nosuid,nodev,relatime,user_id=XXX,group_id=XXX) ):

(gst-plugin-scanner:28700): GStreamer-WARNING **: 08:53:35.274: Failed to load plugin '/tmp/.mount_dstimkf0qBg/usr/lib/gstreamer-1.0/libgstcurl.so': libp11-kit.so.0: cannot open shared object file: No such file or directory
(gst-plugin-scanner:28700): GStreamer-WARNING **: 08:53:35.318: Failed to load plugin '/tmp/.mount_dstimkf0qBg/usr/lib/gstreamer-1.0/libgstfluidsynthmidi.so': libjack.so.0: cannot open shared object file: No such file or directory
(gst-plugin-scanner:28700): GStreamer-WARNING **: 08:53:35.369: Failed to load plugin '/tmp/.mount_dstimkf0qBg/usr/lib/gstreamer-1.0/libgstjack.so': libjack.so.0: cannot open shared object file: No such file or directory
(gst-plugin-scanner:28700): GStreamer-WARNING **: 08:53:35.393: Failed to load plugin '/tmp/.mount_dstimkf0qBg/usr/lib/gstreamer-1.0/libgstlibav.so': libp11-kit.so.0: cannot open shared object file: No such file or directory
(gst-plugin-scanner:28700): GStreamer-WARNING **: 08:53:35.464: Failed to load plugin '/tmp/.mount_dstimkf0qBg/usr/lib/gstreamer-1.0/libgstopencv.so': libp11-kit.so.0: cannot open shared object file: No such file or directory
(gst-plugin-scanner:28700): GStreamer-WARNING **: 08:53:35.499: Failed to load plugin '/tmp/.mount_dstimkf0qBg/usr/lib/gstreamer-1.0/libgstrtmp.so': libp11-kit.so.0: cannot open shared object file: No such file or directory
(gst-plugin-scanner:28700): GStreamer-WARNING **: 08:53:35.593: Failed to load plugin '/tmp/.mount_dstimkf0qBg/usr/lib/gstreamer-1.0/libgstcurl.so': libp11-kit.so.0: cannot open shared object file: No such file or directory
(gst-plugin-scanner:28700): GStreamer-WARNING **: 08:53:35.595: Failed to load plugin '/tmp/.mount_dstimkf0qBg/usr/lib/gstreamer-1.0/libgstfluidsynthmidi.so': libjack.so.0: cannot open shared object file: No such file or directory
(gst-plugin-scanner:28700): GStreamer-WARNING **: 08:53:35.604: Failed to load plugin '/tmp/.mount_dstimkf0qBg/usr/lib/gstreamer-1.0/libgstjack.so': libjack.so.0: cannot open shared object file: No such file or directory
(gst-plugin-scanner:28700): GStreamer-WARNING **: 08:53:35.607: Failed to load plugin '/tmp/.mount_dstimkf0qBg/usr/lib/gstreamer-1.0/libgstlibav.so': libp11-kit.so.0: cannot open shared object file: No such file or directory
(gst-plugin-scanner:28700): GStreamer-WARNING **: 08:53:35.614: Failed to load plugin '/tmp/.mount_dstimkf0qBg/usr/lib/gstreamer-1.0/libgstopencv.so': libp11-kit.so.0: cannot open shared object file: No such file or directory
(gst-plugin-scanner:28700): GStreamer-WARNING **: 08:53:35.620: Failed to load plugin '/tmp/.mount_dstimkf0qBg/usr/lib/gstreamer-1.0/libgstrtmp.so': libp11-kit.so.0: cannot open shared object file: No such file or directory
caybro commented 1 year ago

Yeah the AppImage is unfortunately too Ubuntu specific :/

Menduist commented 1 year ago

Can confirm that when building from source, it works fine. So packaging issue

fryorcraken commented 1 year ago

Using Fedora Linux and Status Desktop 0.10.0.

Links now open when clicking. However, they open in Chromium when my defaut browser (Gnome setting) is Firefox.

Logs:

sed: /tmp/.mount_StatusCfQoEA/usr/lib/libselinux.so.1: no version information available (required by sed)
sed: /tmp/.mount_StatusCfQoEA/usr/lib/libselinux.so.1: no version information available (required by sed)
sed: /tmp/.mount_StatusCfQoEA/usr/lib/libselinux.so.1: no version information available (required by sed)
sed: /tmp/.mount_StatusCfQoEA/usr/lib/libselinux.so.1: no version information available (required by sed)
sed: /tmp/.mount_StatusCfQoEA/usr/lib/libselinux.so.1: no version information available (required by sed)
sed: /tmp/.mount_StatusCfQoEA/usr/lib/libselinux.so.1: no version information available (required by sed)
XPCOMGlueLoad error for file /usr/lib64/firefox/libmozgtk.so:
/lib64/libwayland-cursor.so.0: undefined symbol: wl_proxy_marshal_flags
Couldn't load XPCOM.
sed: /tmp/.mount_StatusCfQoEA/usr/lib/libselinux.so.1: no version information available (required by sed)
/usr/bin/xdg-open: line 881: x-www-browser: command not found
XPCOMGlueLoad error for file /usr/lib64/firefox/libmozgtk.so:
/lib64/libwayland-cursor.so.0: undefined symbol: wl_proxy_marshal_flags
Couldn't load XPCOM.
/usr/bin/xdg-open: line 881: iceweasel: command not found
/usr/bin/xdg-open: line 881: seamonkey: command not found
/usr/bin/xdg-open: line 881: mozilla: command not found
epiphany: symbol lookup error: /lib64/libgck-1.so.0: undefined symbol: g_task_set_name
/usr/bin/xdg-open: line 881: konqueror: command not found
/usr/bin/xdg-open: line 881: chromium: command not found
/usr/bin/xdg-open: line 881: chromium-browser: command not found
mkdir: /tmp/.mount_StatusCfQoEA/usr/lib/libselinux.so.1: no version information available (required by mkdir)
GLib-GIO-Message: 14:35:45.089: Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications.
libva error: va_getDriverName() failed with unknown libva error,driver_name=(null)
INFO: Created TensorFlow Lite XNNPACK delegate for CPU.
[449789:449789:0406/143550.663770:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 1 times!
caybro commented 1 year ago

Using Fedora Linux and Status Desktop 0.10.0.

Links now open when clicking. However, they open in Chromium when my defaut browser (Gnome setting) is Firefox.

Logs:

sed: /tmp/.mount_StatusCfQoEA/usr/lib/libselinux.so.1: no version information available (required by sed)
sed: /tmp/.mount_StatusCfQoEA/usr/lib/libselinux.so.1: no version information available (required by sed)
sed: /tmp/.mount_StatusCfQoEA/usr/lib/libselinux.so.1: no version information available (required by sed)
sed: /tmp/.mount_StatusCfQoEA/usr/lib/libselinux.so.1: no version information available (required by sed)
sed: /tmp/.mount_StatusCfQoEA/usr/lib/libselinux.so.1: no version information available (required by sed)
sed: /tmp/.mount_StatusCfQoEA/usr/lib/libselinux.so.1: no version information available (required by sed)
XPCOMGlueLoad error for file /usr/lib64/firefox/libmozgtk.so:
/lib64/libwayland-cursor.so.0: undefined symbol: wl_proxy_marshal_flags
Couldn't load XPCOM.
sed: /tmp/.mount_StatusCfQoEA/usr/lib/libselinux.so.1: no version information available (required by sed)
/usr/bin/xdg-open: line 881: x-www-browser: command not found
XPCOMGlueLoad error for file /usr/lib64/firefox/libmozgtk.so:
/lib64/libwayland-cursor.so.0: undefined symbol: wl_proxy_marshal_flags
Couldn't load XPCOM.
/usr/bin/xdg-open: line 881: iceweasel: command not found
/usr/bin/xdg-open: line 881: seamonkey: command not found
/usr/bin/xdg-open: line 881: mozilla: command not found
epiphany: symbol lookup error: /lib64/libgck-1.so.0: undefined symbol: g_task_set_name
/usr/bin/xdg-open: line 881: konqueror: command not found
/usr/bin/xdg-open: line 881: chromium: command not found
/usr/bin/xdg-open: line 881: chromium-browser: command not found
mkdir: /tmp/.mount_StatusCfQoEA/usr/lib/libselinux.so.1: no version information available (required by mkdir)
GLib-GIO-Message: 14:35:45.089: Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications.
libva error: va_getDriverName() failed with unknown libva error,driver_name=(null)
INFO: Created TensorFlow Lite XNNPACK delegate for CPU.
[449789:449789:0406/143550.663770:ERROR:gl_surface_presentation_helper.cc(260)] GetVSyncParametersIfAvailable() failed for 1 times!

Because it fails to open in firefox due to:

XPCOMGlueLoad error for file /usr/lib64/firefox/libmozgtk.so:
/lib64/libwayland-cursor.so.0: undefined symbol: wl_proxy_marshal_flags

and then it tries the next one, chromium

fryorcraken commented 1 year ago

Not sure if it helps but firefox works fine in a terminal:

▶ xdg-open https://github.com
# opens GitHub in Firefox
~                                                                                                                                                                                                                                                                          
▶ which xdg-open
/usr/bin/xdg-open

~                                                                                                                                                                                                                                                                          
▶ rpm -qf `which xdg-open`
xdg-utils-1.1.3-12.fc37.noarch