I am planning to use directly these files: libgluegen-rt.so, libjogl_desktop.so, libnativewindow_awt.so libnativewindow_x11.so instead of jogl-all-natives-linux-amd64.jar & gluegen-rt-natives-linux-amd64.jar When I started a code based on jogl, I get the following exception: [java] java.util.zip.ZipException: error in opening zip file [java] at java.util.zip.ZipFile.open(Native Method) [java] at java.util.zip.ZipFile.<init>(ZipFile.java:131) [java] at java.util.jar.JarFile.<init>(JarFile.java:150) [java] at java.util.jar.JarFile.<init>(JarFile.java:87) [java] at sun.net.www.protocol.jar.URLJarFile.<init>(URLJarFile.java:90) [java] at sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:66) [java] at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:71) [java] at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:122) [java] at sun.net.www.protocol.jar.JarURLConnection.getJarFile(JarURLConnection.java:89) [java] at com.jogamp.common.util.JarUtil.getJarFile(JarUtil.java:294) [java] at com.jogamp.common.util.cache.TempJarCache.bootstrapNativeLib(TempJarCache.java:346) [java] at com.jogamp.common.os.Platform$3.run(Platform.java:312) [java] at java.security.AccessController.doPrivileged(Native Method) [java] at com.jogamp.common.os.Platform.loadGlueGenRTImpl(Platform.java:303) [java] at com.jogamp.common.os.Platform.<clinit>(Platform.java:214) [java] at javax.media.opengl.GLProfile.<clinit>(GLProfile.java:79) [java] at org.scilab.forge.scirenderer.examples.utils.ExampleFrame.<init>(Unknown Source) [java] at org.scilab.forge.scirenderer.examples.LightenedCube.<init>(Unknown Source) [java] at org.scilab.forge.scirenderer.examples.LightenedCube.main(Unknown Source) It would be nice if you could catch it.
Hi Set the flag jogamp.gluegen.UseTempJarCache to false in order to disable the automatic extraction of native libraries from JARs.
There's no real bug, you just have to set the proper flag (jogamp.gluegen.UseTempJarCache) to false and it will work fine.
OK. thanks!
(In reply to comment #3) > OK. thanks! You're welcome. This kind of information should be in the user guide or in the documentation, I'm really sorry.
Actually, I think something better could be done here. Instead of getting an ugly stack trace with the message: [java] java.util.zip.ZipException: error in opening zip file I think we could catch the exception and show a message like: * could not zip the jar containing the native library. Check the path or declare jogamp.gluegen.UseTempJarCache to false. don't you think ?
Sven told me once that when this mechanism does not work, it uses a fallback on the previous behaviour. Please use the latest build to check that. If this fallback does not work, something should be done to fix that. Otherwise, this bug report should be closed once for all.
(In reply to comment #6) > Sven told me once that when this mechanism does not work, it uses a fallback on > the previous behaviour. Please use the latest build to check that. If this > fallback does not work, something should be done to fix that. Otherwise, this > bug report should be closed once for all. Thats right, it should simply fall back to traditional native lib loading. The only informal message currently dumped is: "Catched: error in opening zip file" Yes, it could be enhanced, ie naming the actual file and mentioning the fallback action. To reproduce this behavior, I simply removed the *natives* JARs and set the LD_LIBRARY_PATH properly.