jzy3d-api
jzy3d-api copied to clipboard
[Native] JOGL Unsatisfied link error on Ubuntu 18.4.3 LTS / 64bits
To reproduce, run SurfaceDemo[AWT/Swing] from Ubuntu. Happens both on Jzy3d 1.* and Jzy3d 2.0 which use JOGL 2.3.2
SurfaceDemoEmulGL demos are working fine on Ubuntu (jzy3d 2.0)
Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/jogamp_0000/file_cache/jln10575466246892211241/jln2567921136565567722/natives/linux-amd64/libnativewindow_awt.so: /home/Martin/Dev/sts-4.9.0.RELEASE/plugins/org.eclipse.justj.openjdk.hotspot.jre.full.linux.x86_64_15.0.1.v20201027-0507/jre/lib/libjawt.so: version `SUNWprivate_1.1' not found (required by /tmp/jogamp_0000/file_cache/jln10575466246892211241/jln2567921136565567722/natives/linux-amd64/libnativewindow_awt.so)
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 com.jogamp.common.jvm.JNILibLoaderBase.loadLibraryInternal(JNILibLoaderBase.java:603)
at com.jogamp.common.jvm.JNILibLoaderBase.access$000(JNILibLoaderBase.java:63)
at com.jogamp.common.jvm.JNILibLoaderBase$DefaultAction.loadLibrary(JNILibLoaderBase.java:106)
at com.jogamp.common.jvm.JNILibLoaderBase.loadLibrary(JNILibLoaderBase.java:487)
at jogamp.nativewindow.NWJNILibLoader.access$000(NWJNILibLoader.java:39)
at jogamp.nativewindow.NWJNILibLoader$1.run(NWJNILibLoader.java:49)
at jogamp.nativewindow.NWJNILibLoader$1.run(NWJNILibLoader.java:41)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:312)
at jogamp.nativewindow.NWJNILibLoader.loadNativeWindow(NWJNILibLoader.java:41)
at jogamp.nativewindow.jawt.JAWTUtil.<clinit>(JAWTUtil.java:336)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:468)
at com.jogamp.nativewindow.NativeWindowFactory$3.run(NativeWindowFactory.java:344)
at com.jogamp.nativewindow.NativeWindowFactory$3.run(NativeWindowFactory.java:340)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:312)
at com.jogamp.nativewindow.NativeWindowFactory.initSingleton(NativeWindowFactory.java:340)
at com.jogamp.opengl.GLProfile.initProfilesForDefaultDevices(GLProfile.java:1721)
at com.jogamp.opengl.GLProfile.access$000(GLProfile.java:80)
at com.jogamp.opengl.GLProfile$1.run(GLProfile.java:230)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:312)
at com.jogamp.opengl.GLProfile.initSingleton(GLProfile.java:216)
at com.jogamp.opengl.GLProfile.isAvailable(GLProfile.java:300)
at com.jogamp.opengl.GLProfile.isAvailable(GLProfile.java:315)
at org.jzy3d.chart.factories.NativePainterFactory.detectGLProfile(NativePainterFactory.java:120)
at org.jzy3d.chart.factories.NativePainterFactory.<init>(NativePainterFactory.java:38)
at org.jzy3d.chart.factories.AWTPainterFactory.<init>(AWTPainterFactory.java:41)
at org.jzy3d.chart.factories.SwingPainterFactory.<init>(SwingPainterFactory.java:12)
at org.jzy3d.chart.factories.SwingChartFactory.<init>(SwingChartFactory.java:9)
at org.jzy3d.demos.surface.SurfaceDemoSwing.<init>(SurfaceDemoSwing.java:29)
at org.jzy3d.demos.surface.SurfaceDemoSwing.main(SurfaceDemoSwing.java:33)
You may use EmulGL instead of JOGL for rendering with Jzy3D. EmulGL is made to enhance charts portability across computers.
See links to examples in the readme.
See https://forum.jogamp.org/JOGL-2-3-2-example-compiles-but-fails-to-run-Maven-3-8-2-NetBeans-12-4-OpenJDK-16-0-2-Lubuntu-21-10-td4041246.html
Also encountered on JOGL 2.4 + Java 17 + Ubuntu 18. But not Ubuntu 20
Seamingly not a JOGL problem!