Commit 287f615
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.html1 parent ad6d2f1 commit 287f615
1 file changed
+10
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
28 | 35 | | |
29 | 36 | | |
30 | 37 | | |
| |||
42 | 49 | | |
43 | 50 | | |
44 | 51 | | |
45 | | - | |
| 52 | + | |
46 | 53 | | |
47 | 54 | | |
48 | 55 | | |
49 | 56 | | |
50 | | - | |
| 57 | + | |
51 | 58 | | |
52 | 59 | | |
53 | 60 | | |
54 | 61 | | |
55 | | - | |
| 62 | + | |
56 | 63 | | |
57 | 64 | | |
58 | 65 | | |
| |||
0 commit comments