Unpackaging old Java programs on Fedora 38

Hi there,

I am working on a writing project and I would like to install this old Open Source program called Flesh. Found here

I am trying to determine as to why i get this error when installing…

Exception in thread “main” java.lang.UnsatisfiedLinkError: Can’t load library: /usr/lib/jvm/java-17-openjdk-17.0.8.0.7-1.fc38.x86_64/lib/libawt_xawt.so

It seems there are some libraries or dependencies missing in my version that are needed for this program…

You can see my install script I ran didn’t complete…

[isaiah@fedora Flesh-Linux (2)]$ java -jar Flesh.jar Flesh.jar
Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load library: /usr/lib/jvm/java-17-openjdk-17.0.8.0.7-1.fc38.x86_64/lib/libawt_xawt.so
	at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2398)
	at java.base/java.lang.Runtime.load0(Runtime.java:755)
	at java.base/java.lang.System.load(System.java:1953)
	at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
	at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:388)
	at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:232)
	at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:174)
	at java.base/jdk.internal.loader.NativeLibraries.findFromPaths(NativeLibraries.java:315)
	at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:285)
	at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2403)
	at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:818)
	at java.base/java.lang.System.loadLibrary(System.java:1989)
	at java.desktop/java.awt.Toolkit$2.run(Toolkit.java:1392)
	at java.desktop/java.awt.Toolkit$2.run(Toolkit.java:1390)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
	at java.desktop/java.awt.Toolkit.loadLibraries(Toolkit.java:1389)
	at java.desktop/java.awt.Toolkit.initStatic(Toolkit.java:1427)
	at java.desktop/java.awt.Toolkit.<clinit>(Toolkit.java:1401)
	at java.desktop/java.awt.Component.<clinit>(Component.java:624)


[isaiah@fedora Flesh-Linux (2)]$ java -version
openjdk version "17.0.8" 2023-07-18
OpenJDK Runtime Environment (Red_Hat-17.0.8.0.7-1.fc38) (build 17.0.8+7)
OpenJDK 64-Bit Server VM (Red_Hat-17.0.8.0.7-1.fc38) (build 17.0.8+7, mixed mode, sharing)

What is the output of dnf list --installed | grep openjdk? Looks like you only have the *-headless version installed.

2 Likes

Thanks for your help @ludwigd

Seems you are indeed correct. I didn’t know there was a headless version.

is this why the package wont run?

[isaiah@fedora ~]$ dnf list --installed | grep openjdk
java-17-openjdk-headless.x86_64 1:17.0.8.0.7-1.fc38 @updates
[isaiah@fedora ~]$

I’d suggest installing java-17-openjdk via dnf in java-17-openjdk and try again.

2 Likes

It worked!!

THANKYOU! very much!!

i wonder why my java version was missing those elements