NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
18.27k stars 14.26k forks source link

Mediathekview does not start correctly #346892

Open dschrempf opened 1 month ago

dschrempf commented 1 month ago

Describe the bug

MediathekView does not start properly. Settings dialogs appear but the main application does not. There are no clear hints on why this is the case in the console log (see below).

Steps To Reproduce

Install and open MediathekView.

Additional context

Notify maintainers

@Moredread

Metadata

(C) + nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.6.53, NixOS, 24.11 (Vicuna), 24.11.20241004.bc947f5`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.24.8`
 - nixpkgs: `/nix/store/lryfc8mhk1czqsa421di2y5nzz5c3b8m-source`

Add a :+1: reaction to issues you find important.

Console log:

. Configuring for non-portable mode
. Detected incorrect JVM parameters! Please modify your settings
. Programmstart: 2024-10-06T16:30:22.428276943
. Version: 14.0.0
. === Java Information ===
. Vendor: N/A
. VMname: OpenJDK 64-Bit Server VM
. Version: 21.0.3
. Runtime Version: 21.0.3+9-nixos
. Maximum Memory: 7944 MB
. Operating System: Linux
. OS Version: 6.6.53
. OS Arch: amd64
Oct 06, 2024 4:30:22 PM com.sun.javafx.application.PlatformImpl startup
WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @6ce2b319'
. OS Dark Mode detection not supported
. OS Available Processors: 16
. Verzeichnis Einstellungen: /home/dominik/.mediathek3
Loading library prism_es2 from resource failed: java.lang.UnsatisfiedLinkError: /home/dominik/.openjfx/cache/20.0.1+2/amd64/libprism_es2.so: libXxf86vm.so.1: cannot open shared object file: No such file or directory
java.lang.UnsatisfiedLinkError: /home/dominik/.openjfx/cache/20.0.1+2/amd64/libprism_es2.so: libXxf86vm.so.1: cannot open shared object file: No such file or directory
    at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
    at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:331)
    at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:197)
    at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:139)
    at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2418)
    at java.base/java.lang.Runtime.load0(Runtime.java:852)
    at java.base/java.lang.System.load(System.java:2025)
    at com.sun.glass.utils.NativeLibLoader.installLibraryFromResource(NativeLibLoader.java:217)
    at com.sun.glass.utils.NativeLibLoader.loadLibraryFromResource(NativeLibLoader.java:197)
    at com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:138)
    at com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:54)
    at com.sun.prism.es2.ES2Pipeline.lambda$static$0(ES2Pipeline.java:63)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)
    at com.sun.prism.es2.ES2Pipeline.<clinit>(ES2Pipeline.java:52)
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Class.java:421)
    at java.base/java.lang.Class.forName(Class.java:412)
    at com.sun.prism.GraphicsPipeline.createPipeline(GraphicsPipeline.java:218)
    at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:92)
    at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:125)
    at java.base/java.lang.Thread.run(Thread.java:1583)
Loading library glassgtk3 from resource failed: java.lang.UnsatisfiedLinkError: /home/dominik/.openjfx/cache/20.0.1+2/amd64/libglassgtk3.so: libgthread-2.0.so.0: cannot open shared object file: No such file or directory
java.lang.UnsatisfiedLinkError: /home/dominik/.openjfx/cache/20.0.1+2/amd64/libglassgtk3.so: libgthread-2.0.so.0: cannot open shared object file: No such file or directory
    at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
    at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:331)
    at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:197)
    at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:139)
    at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2418)
    at java.base/java.lang.Runtime.load0(Runtime.java:852)
    at java.base/java.lang.System.load(System.java:2025)
    at com.sun.glass.utils.NativeLibLoader.installLibraryFromResource(NativeLibLoader.java:217)
    at com.sun.glass.utils.NativeLibLoader.loadLibraryFromResource(NativeLibLoader.java:197)
    at com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:138)
    at com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:54)
    at com.sun.glass.ui.gtk.GtkApplication.lambda$new$6(GtkApplication.java:221)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)
    at com.sun.glass.ui.gtk.GtkApplication.<init>(GtkApplication.java:200)
    at com.sun.glass.ui.gtk.GtkPlatformFactory.createApplication(GtkPlatformFactory.java:40)
    at com.sun.glass.ui.Application.run(Application.java:146)
    at com.sun.javafx.tk.quantum.QuantumToolkit.startup(QuantumToolkit.java:290)
    at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:292)
    at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:162)
    at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:651)
    at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:671)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
    at java.base/java.lang.Thread.run(Thread.java:1583)
Exception in thread "Thread-0" java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: no glassgtk3 in java.library.path: /nix/store/shvpkfqpaas60fakhw62hp3xgpfh4kdm-libglvnd-1.7.0/lib:/nix/store/hs00z3x8saf94f5s9i0xyqv8m5ak6ly6-libnotify-0.8.3/lib:/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib
    at com.sun.javafx.tk.quantum.QuantumToolkit.startup(QuantumToolkit.java:300)
    at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:292)
    at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:162)
    at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:651)
    at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:671)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
    at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.lang.UnsatisfiedLinkError: no glassgtk3 in java.library.path: /nix/store/shvpkfqpaas60fakhw62hp3xgpfh4kdm-libglvnd-1.7.0/lib:/nix/store/hs00z3x8saf94f5s9i0xyqv8m5ak6ly6-libnotify-0.8.3/lib:/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib
    at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2458)
    at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:916)
    at java.base/java.lang.System.loadLibrary(System.java:2063)
    at com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:166)
    at com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:54)
    at com.sun.glass.ui.gtk.GtkApplication.lambda$new$6(GtkApplication.java:221)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)
    at com.sun.glass.ui.gtk.GtkApplication.<init>(GtkApplication.java:200)
    at com.sun.glass.ui.gtk.GtkPlatformFactory.createApplication(GtkPlatformFactory.java:40)
    at com.sun.glass.ui.Application.run(Application.java:146)
    at com.sun.javafx.tk.quantum.QuantumToolkit.startup(QuantumToolkit.java:290)
    ... 6 more
. Konfig existiert nicht!
. Es gibt kein Backup
. Weder Konfig noch Backup konnte geladen werden!
. MVHttpClient: Proxy not configured
. Could not read bookmarks from file /home/dominik/.mediathek3/bookmarks.json, error /home/dominik/.mediathek3/bookmarks.json (No such file or directory) => file ignored
dschrempf commented 1 month ago

I think the reason is that the JRE needs to be include Java FX.

Something like

callPackage /path/to/mediathekview {
    jre = (pkgs.jre.override { enableJavaFX = true; });
  };
zimward commented 1 month ago

Unrelated: i think there is a negation missing in the issue title