Login  Register

Re: J3D+JOGL good within Eclipse but UnsatisfiedLinkError as standalone

Posted by gouessej on Jun 10, 2016; 1:18pm
URL: https://forum.jogamp.org/J3D-JOGL-good-within-Eclipse-but-UnsatisfiedLinkError-as-standalone-tp4036783p4036816.html

Hi

In my humble opinion, you should rebuild your software with Java3D 1.6.0-pre12, it doesn't require to rebuild Java3D itself. When you run your test, you must ensure that the JARs of Java3D 1.6.0-pre12 and the JAR(s) of JOGL 2.3.2 & GlueGen containing the Java libraries are in the classpath, you must ensure that no JAR of other versions is somewhere in your classpath or in any directories used by the extension mechanism, you must ensure that the Java library path points to the directory containing the native libraries of JOGL 2.3.2 & GlueGen, you must ensure that no native library of other versions are in a directory in your PATH environment variable or in any other directory used by the JRE to look for the native libraries and you must ensure that your launch script uses the bundled JRE with the right bitness (64-bit JRE -> 64-bit native libraries).

If you get another UnsatisfiedLinkError within Java3D but not in JOGL and/or GlueGen, especially in MasterControl, it will mean that your software still doesn't use Java3D 1.6.0-pre12. If you get an UnsatisfiedLinkError elsewhere in JOGL and/or GlueGen, there will be a problem of bitness (64-bit/32-bit) or you use two different versions of the libraries, the Java libraries don't match with the native libraries, for example you use JOGL 2.3.2 Java libraries with JOGL 2.3.1 native libraries.

If you get a ClassNotFoundException in javax.*, you still use an old version of Java3D that looks for the JOGL classes in their old location. If you get a ClassNotFoundException in com.jogamp.* or jogamp.*, you probably use the right version of Java3D but with an obsolete version of JOGL.

The Ant script to build Java3D 1.6.0-pre12 might be a little bit buggy. I advise you to use our JARs in the meantime, until you can modify your toolset to build Java3D 1.7 yourself with Maven.

The very first problem Philjord pointed out concerning MasterControl was easy to find as I indicated in my tutorial where the source code of Java3D is and Harvey's source code doesn't call System.loadLibrary() in MasterControl. What's the point of using an open source library if you don't look at its source code when something goes wrong? You claimed that you read my user's guide several times but most of the possible problems you mentioned were mentioned in it, in the troubleshooting section, in "Conflict with an obsolete version".

Keep in mind that we do our best to help you but most of those problems could occur with any other Java library. It's not specific to JOGL. Good luck.
Julien Gouesse | Personal blog | Website