Skip to content

Commit 287f615

Browse files
committed
Subject: [PATCH] FIX: UnsatisfiedLinkError in libjawt.so:
SUNWprivate_1.1 not found **Defect Category** - broken external dependency **Introduced when** - We suspect jogamp.org/9fb1e46e43900ec9b2f9c9af1fc8984e101c8811 [1] **Root Cause** - JAWTUtil's static-init loads libawt.so while in headless mode [1, 2]. **Consequences** (effect <- cause .. <- root cause) - Applications in workspace.examples.* won't start on Linux/OpenJDK - Load-Time error on Linux/OpenJDK showing the following symptom (local paths into build cache shortnened with "..."): > java.lang.UnsatisfiedLinkError: > .../natives/linux-amd64/libnativewindow_awt.so: > /usr/lib/jvm/java-13-oracle/lib/libjawt.so: > version `SUNWprivate_1.1' not found > (required by .../natives/linux-amd64/libnativewindow_awt.so) - JAWTUtil's static-init loads libawt.so while in headless mode [2]. **Affected Versions** - 2.3.2 <= jogl < 2.4.0 **Affected Environment (at least)** - OS: Fedora Linux 39 (Workstation Edt.) - Graphics: xorg-x11-drv-nouveau.x86_64 1:1.0.17-6.fc39 - Window Manager: Wayland - JVM: Java-17-openjdk-headless.x86_64 1:17.0.13.0.11-3.fc39 **Reproducer** (in affected environment) 1. Clone repo and checkout previous commit. 2. In Eclipse IDE, import project as existing Maven project. 3. Run "Maven Install". 4. Open e.g. src/main/java/workspace/examples/HelloSceneObject.java. 5. Run as Java Application. **Proposed Fix** - The defect is introduced in [1] and fixed since [2] available since jogl>=2.4.0. Upgrading to a newer version of JOGL is found to indeed fixing the problem. Hence we: - bump JoGL to 2.5.0 and transitively... - bump Processing to 4.3.1 to match requirements. - Note: JoGL 2.4.0 and newer is only available via the project's own distribution channel which is why we add its artifact registry to to the project definition. **Confirmation of the fix** 1. checkout this commit 2. proceed with step 2) in Sect. "Reproducer" **Kudos** - Kudos to the community [3] for pointing us to the solution. **References** [1] https://jogamp.org/cgit/jogl.git/commit/ ?h=v2.3.2 &id=9fb1e46e43900ec9b2f9c9af1fc8984e101c8811 [2] https://jogamp.org/cgit/jogl.git/commit/ ?h=v2.4.0 &id=ecbf9742f5a4ce100388083babec25d098633021 [3] https://forum.jogamp.org/ Oracle-Java-13-Linux-version-SUNWprivate-1-1-not-found-td4040172.html
1 parent ad6d2f1 commit 287f615

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

pom.xml

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,13 @@
2525
</plugin>
2626
</plugins>
2727
</build>
28+
<repositories>
29+
<repository>
30+
<name>JoGL Distrib</name>
31+
<id>org.jogamp</id>
32+
<url>https://www.jogamp.org/deployment/maven/</url>
33+
</repository>
34+
</repositories>
2835
<distributionManagement>
2936
<repository>
3037
<id>github</id>
@@ -42,17 +49,17 @@
4249
<dependency>
4350
<groupId>org.processing</groupId>
4451
<artifactId>core</artifactId>
45-
<version>3.3.7</version>
52+
<version>4.3.1</version>
4653
</dependency>
4754
<dependency>
4855
<groupId>org.jogamp.gluegen</groupId>
4956
<artifactId>gluegen-rt-main</artifactId>
50-
<version>2.3.2</version>
57+
<version>2.5.0</version>
5158
</dependency>
5259
<dependency>
5360
<groupId>org.jogamp.jogl</groupId>
5461
<artifactId>jogl-all-main</artifactId>
55-
<version>2.3.2</version>
62+
<version>2.5.0</version>
5663
</dependency>
5764
<dependency>
5865
<groupId>org.junit.platform</groupId>

0 commit comments

Comments
 (0)