Green Elte
Green Elte

Reputation: 51

java.lang.UnsatisfiedLinkError: /opt/jdk17/lib/libawt_xawt.so: libXrender.so.1: cannot open shared object file: No such file or directory

I don't understand what went wrong with me. I'm trying to run Spigot Server Core 1.18.2, and I'm constantly having problems with this library.

[19:21:50 INFO]: [STDERR]: java.lang.UnsatisfiedLinkError: /opt/jdk17/lib/libawt_xawt.so: libXrender.so.1: cannot open shared object file: No such file or directory [19:21:50 INFO]: [STDERR]: at java.base/jdk.internal.loader.NativeLibraries.load(Native Method) [19:21:50 INFO]: [STDERR]: at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:388) [19:21:50 INFO]: [STDERR]: at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:232) [19:21:50 INFO]: [STDERR]: at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:174) [19:21:50 INFO]: [STDERR]: at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2389) [19:21:50 INFO]: [STDERR]: at java.base/java.lang.Runtime.load0(Runtime.java:755) [19:21:50 INFO]: [STDERR]: at java.base/java.lang.System.load(System.java:1953) [19:21:50 INFO]: [STDERR]: at java.base/jdk.internal.loader.NativeLibraries.load(Native Method) [19:21:50 INFO]: [STDERR]: at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:388) [19:21:50 INFO]: [STDERR]: at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:232) [19:21:50 INFO]: [STDERR]: at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:174) [19:21:50 INFO]: [STDERR]: at java.base/jdk.internal.loader.NativeLibraries.findFromPaths(NativeLibraries.java:315) [19:21:50 INFO]: [STDERR]: at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:285) [19:21:50 INFO]: [STDERR]: at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2398) [19:21:50 INFO]: [STDERR]: at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:818) [19:21:50 INFO]: [STDERR]: at java.base/java.lang.System.loadLibrary(System.java:1989) [19:21:50 INFO]: [STDERR]: at java.desktop/java.awt.Toolkit$2.run(Toolkit.java:1388) [19:21:50 INFO]: [STDERR]: at java.desktop/java.awt.Toolkit$2.run(Toolkit.java:1386) [19:21:50 INFO]: [STDERR]: at java.base/java.security.AccessController.doPrivileged(AccessController.java:318) [19:21:50 INFO]: [STDERR]: at java.desktop/java.awt.Toolkit.loadLibraries(Toolkit.java:1385) [19:21:50 INFO]: [STDERR]: at java.desktop/java.awt.Toolkit.initStatic(Toolkit.java:1423) [19:21:50 INFO]: [STDERR]: at java.desktop/java.awt.Toolkit.(Toolkit.java:1397) [19:21:50 INFO]: [STDERR]: at java.desktop/java.awt.Component.(Component.java:624)

Upvotes: 5

Views: 10252

Answers (3)

qiaoaina can
qiaoaina can

Reputation: 1

I ran into the same problem when depolying Jenkins on Ubuntu. Just like below:

root@VM-Agent-Service-Uat:~/jdk/jdk-17.0.10+7# java -version
openjdk version "17.0.10" 2024-01-16
OpenJDK Runtime Environment Temurin-17.0.10+7 (build 17.0.10+7)
OpenJDK 64-Bit Server VM Temurin-17.0.10+7 (build 17.0.10+7, mixed mode, sharing)

root@VM-Agent-Service-Uat:~/jdk/jdk-17.0.10+7# cat /proc/version
Linux version 6.5.0-1021-azure (buildd@lcy02-amd64-097) (x86_64-linux-gnu-gcc-11 (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #22~22.04.1-Ubuntu SMP Tue Apr 30 16:08:18 UTC 2024

After these packages were installed, this exception was fixed. Thank you, Guys! These codes just work in my case:

apt-get install libxrender1

apt-get install libxtst6

apt-get install libxi6

Hopefully, my experience can help more.

Upvotes: 0

Alejandro
Alejandro

Reputation: 194

I know it's late for this, but what worked for me was:

apt-get install libxrender1:i386 libxtst6:i386 libxi6:i386

Upvotes: 4

JockX
JockX

Reputation: 2136

This problem seems to stem from Java attempting to load GUI-related classes in non-gui environment, like headless server. Perhaps adding -Djava.awt.headless=true to java command would help, if the application supports that, and does not in fact require to run in Desktop environment.

Upvotes: 12

Related Questions