jzy3d / jzy3d-api

A Java API for 3d and 2d charts
BSD 3-Clause "New" or "Revised" License
283 stars 145 forks source link

[Native] JOGL Unsatisfied link error on Ubuntu 18.4.3 LTS / 64bits #139

Open jzy3d opened 3 years ago

jzy3d commented 3 years ago

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)
jzy3d commented 3 years ago

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.

jzy3d commented 3 years ago

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

jzy3d commented 2 years ago

Also encountered on JOGL 2.4 + Java 17 + Ubuntu 18. But not Ubuntu 20

jzy3d commented 2 years ago

Seamingly not a JOGL problem!