FrancescoCeruti / linux-show-player

Linux Show Player - Cue player designed for stage productions
https://linux-show-player.org
GNU General Public License v3.0
204 stars 49 forks source link

LinuxShowPlayer-v0.5.2-x86_64.AppImage errors - backend not loaded #238

Closed keithjnewman closed 2 years ago

keithjnewman commented 2 years ago

Describe the bug LinuxShowPlayer-v0.5.2-x86_64.AppImage errors with the message 'backend not loaded' when I attempt to add a media file

To Reproduce Steps to reproduce the behavior:

  1. Open the 0.5.2 appimage
  2. Select the list layout
  3. Press Ctrl M to add a media file
  4. Dialogue box with error message "Backend not loaded" appears

Expected behavior The dialogue box to add a media cue should appear

Screenshots If applicable, add screenshots to help explain your problem.

Linux Show Player version: 0.5.2 appimage

OS Version Ubuntu 22.04

Additional context This occurs after doing an in place upgrade of Ubuntu from 21.10 to 22.04. It worked fine on 21.10.

keithjnewman commented 2 years ago

Additional info; I subsequently installed linux show player from the repositories. If I attempt to launch the product from the GUI menu it bombs out. If I run it from the command line I get the following; ~$ linux-show-player Traceback (most recent call last): File "/usr/bin/linux-show-player", line 3, in from lisp.main import main File "/usr/lib/python3/dist-packages/lisp/main.py", line 30, in from lisp import modules File "/usr/lib/python3/dist-packages/lisp/modules/init.py", line 23, in from lisp.ui import elogging File "/usr/lib/python3/dist-packages/lisp/ui/elogging.py", line 28, in from lisp.ui.widgets import QDetailedMessageBox File "/usr/lib/python3/dist-packages/lisp/ui/widgets/init.py", line 1, in from .cueaction_combobox import CueActionComboBox File "/usr/lib/python3/dist-packages/lisp/ui/widgets/cueaction_combobox.py", line 25, in from lisp.cues.cue import Cue, CueAction File "/usr/lib/python3/dist-packages/lisp/cues/cue.py", line 25, in from lisp.core.fade_functions import FadeInType, FadeOutType File "/usr/lib/python3/dist-packages/lisp/core/fade_functions.py", line 32, in from lisp.core.util import FunctionProxy File "/usr/lib/python3/dist-packages/lisp/core/util.py", line 22, in from collections import Mapping ImportError: cannot import name 'Mapping' from 'collections' (/usr/lib/python3.10/collections/init.py)

s0600204 commented 2 years ago
AppImage Error Message ``` 00:54:37.017 WARNING:: Cannot load module: gst_backend 00:54:37.021 DEBUG:: Traceback (most recent call last): File "/tmp/.mount_LinuxSbQNgCU/usr/lib/python3.7/site-packages/lisp/core/loading.py", line 92, in load module = import_module(mod_path) File "/tmp/.mount_LinuxSbQNgCU/usr/lib/python3.7/site-packages/lisp/core/loading.py", line 125, in import_module return __import__(module_path, globals(), locals(), ['*']) File "/tmp/.mount_LinuxSbQNgCU/usr/lib/python3.7/site-packages/lisp/modules/gst_backend/__init__.py", line 4, in from .gst_backend import GstBackend File "/tmp/.mount_LinuxSbQNgCU/usr/lib/python3.7/site-packages/lisp/modules/gst_backend/gst_backend.py", line 25, in from lisp.modules.gst_backend.gst_utils import gst_parse_tags_list File "/tmp/.mount_LinuxSbQNgCU/usr/lib/python3.7/site-packages/lisp/modules/gst_backend/gst_utils.py", line 23, in from lisp.modules.gst_backend.gi_repository import Gst, GstPbutils File "/tmp/.mount_LinuxSbQNgCU/usr/lib/python3.7/site-packages/lisp/modules/gst_backend/gi_repository.py", line 9, in import gi File "/tmp/.mount_LinuxSbQNgCU/usr/lib/python3.7/site-packages/gi/__init__.py", line 42, in from . import _gi ImportError: /usr/lib/libgio-2.0.so.0: undefined symbol: g_module_open_full ```

@FrancescoCeruti, the symbol it can't find was added to GLib for version 2.69.1.

The change should have been backwards compatible (g_module_open still exists), however only in the sense that g_module_open is now a wrapper for g_module_open_full.

The fact that AppImage has GLib partially bundled inside itself is probably not helping - at a guess, whatever symbol-lookup tables the python code uses to find GLib's symbols is bundled within the AppImage, thus it's able to find g_module_open (in the host-system's GLib) with little problem, but when that then wants to call a symbol the symbol-lookup table lacks...


@keithjnewman The Ubuntu 22.04-repository provided version of Linux Show Player not working is to be expected as 0.5.2 is not compatible with python 3.10. You'll need to pester the Ubuntu repository maintainers to backport the 0.5.3 version (already present in the repositories of in-development Ubuntu 22.10, itself copied over from Debian Sid) to Ubuntu 22.04.

FrancescoCeruti commented 2 years ago

@s0600204 Thanks for the insight.

I currently don't have much time to dedicate to this issue, also because I don't plan to support this format for future releases.

Anyway, anyone is welcome to take over the effort :)

s0600204 commented 1 year ago

(For future reference:) As the non-running of the Ubuntu-built package on Ubuntu 22.04 is a downstream issue, a report has been filed there: https://bugs.launchpad.net/ubuntu/+source/linux-show-player/+bug/1987073