Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
FS#69507 - [jre-openjdk] unlisted libxtst dependency
Attached to Project:
Arch Linux
Opened by M. (Tomsod) - Tuesday, 02 February 2021, 13:18 GMT
Last edited by Buggy McBugFace (bugbot) - Saturday, 25 November 2023, 20:16 GMT
Opened by M. (Tomsod) - Tuesday, 02 February 2021, 13:18 GMT
Last edited by Buggy McBugFace (bugbot) - Saturday, 25 November 2023, 20:16 GMT
|
Detailsghidra 9.2.2 fails to start without libxtst installed.
From what I can gather, it makes use of Java AWT, which is linked to libXtst.so, so ghidra quits with an error when that library isn't found. With libxtst, ghidra seems to work correctly. The bug part is that neither the ghidra package itself nor its dependencies are listed as requiring libxtst. Although jdk-openjdk has it as a make dependency, it's not required for a prebuild package. To see the precise error message, run ghidra in foreground mode: /opt/ghidra/support/launch.sh fg Ghidra "" "" ghidra.GhidraRun |
This task depends upon
Closed by Buggy McBugFace (bugbot)
Saturday, 25 November 2023, 20:16 GMT
Reason for closing: Moved
Additional comments about closing: https://gitlab.archlinux.org/archlinux/p ackaging/packages/java-openjdk/issues/2
Saturday, 25 November 2023, 20:16 GMT
Reason for closing: Moved
Additional comments about closing: https://gitlab.archlinux.org/archlinux/p ackaging/packages/java-openjdk/issues/2
I might as well post the entire error message here (wish I knew how to create hidable text):
> LC_ALL=C /opt/ghidra/support/launch.sh fg Ghidra "" "" ghidra.GhidraRun
OpenJDK 64-Bit Server VM warning: Archived non-system classes are disabled because the java.system.class.loader property is specified (value = "ghidra.GhidraClassLoader"). To use archived non-system classes, this property must not be set
openjdk version "15.0.2" 2021-01-19
OpenJDK Runtime Environment (build 15.0.2+7)
OpenJDK 64-Bit Server VM (build 15.0.2+7, mixed mode)
Error: Uncaught Exception!
UnsatisfiedLinkError - /usr/lib/jvm/java-15-openjdk/lib/libawt_xawt.so: libXtst.so.6: cannot open shared object file: No such file or directory
java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-15-openjdk/lib/libawt_xawt.so: libXtst.so.6: 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:383)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:227)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:169)
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2407)
at java.base/java.lang.Runtime.load0(Runtime.java:747)
at java.base/java.lang.System.load(System.java:1857)
at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:383)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:227)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:169)
at java.base/jdk.internal.loader.NativeLibraries.findFromPaths(NativeLibraries.java:310)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:280)
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2416)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:809)
at java.base/java.lang.System.loadLibrary(System.java:1893)
at java.desktop/java.awt.Toolkit$2.run(Toolkit.java:1380)
at java.desktop/java.awt.Toolkit$2.run(Toolkit.java:1378)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:312)
at java.desktop/java.awt.Toolkit.loadLibraries(Toolkit.java:1377)
at java.desktop/java.awt.Toolkit.<clinit>(Toolkit.java:1410)
at java.desktop/java.awt.Component.<clinit>(Component.java:622)
at ghidra.StatusReportingTaskMonitor.setMessage(GhidraRun.java:254)
at ghidra.framework.Application.initializeLogging(Application.java:144)
at ghidra.framework.Application.initialize(Application.java:94)
at ghidra.framework.Application.initializeApplication(Application.java:114)
at ghidra.GhidraRun.lambda$launch$1(GhidraRun.java:78)
at java.base/java.lang.Thread.run(Thread.java:832)
Did test java-openjdk rebuild with itself, i.e. built rel=1 with current 15th, got 16th with tweaked dependencies, built rel=2 with rel=1. Logs included.
This task's dependency change is included as non-optional. The thing is, libxtst (https://archlinux.org/packages/extra/x86_64/libxtst/) is required by gnome-session, pulseaudio, qt5-webengine, thus, I suspect, noone usually notices it's missing. However, if something tries to load jawt_xawt (any GUI java, I suspect, maybe even SWT ones), linux linker would require libxtst present unconditionally.
I did review couple of other dependencies and moved them around basing on inclusion of requiring SOs in one or the other package.
libnet was removed because OpenJDK builds some libnet.so itself. I've specifically tried a network+JFX application with my packages and without libnet - and it worked.
OpenJDK patch also includes 'install fix' from https://bugs.archlinux.org/task/69853.