NT installation problems.

Stop me if you’ve heard this one before, but I’ve been having considerable trouble coaxing JOGL to bind properly on an elderly NT machine at work. The requisite .dlls seem to be in place in C:\WINNT\system32,
with jogl.jar in lib and the natives for windows in bin, latest builds. Would an older version of JOGL help? The odd thing is that the JOGL webstart demos don’t seem to function either.

Any and all help would be appreciated.

What’s the error message or messages?


java.lang.UnsatisfiedLinkError: no jogl in java.library.path
	at java.lang.ClassLoader.loadLibrary(Unknown Source)
	at java.lang.Runtime.loadLibrary0(Unknown Source)
	at java.lang.System.loadLibrary(Unknown Source)
	at com.sun.opengl.impl.NativeLibLoader$DefaultAction.loadLibrary(NativeLibLoader.java:78)
	at com.sun.opengl.impl.NativeLibLoader.loadLibrary(NativeLibLoader.java:101)
	at com.sun.opengl.impl.NativeLibLoader.access$100(NativeLibLoader.java:47)
	at com.sun.opengl.impl.NativeLibLoader$1.run(NativeLibLoader.java:109)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.sun.opengl.impl.NativeLibLoader.loadCore(NativeLibLoader.java:107)
	at com.sun.opengl.impl.windows.WindowsGLDrawableFactory.<clinit>(WindowsGLDrawableFactory.java:59)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at javax.media.opengl.GLDrawableFactory.getFactory(GLDrawableFactory.java:106)
	at javax.media.opengl.GLCanvas.<init>(GLCanvas.java:113)
	at javax.media.opengl.GLCanvas.<init>(GLCanvas.java:82)
	at javax.media.opengl.GLCanvas.<init>(GLCanvas.java:75)
	at demos.gears.Gears.main(Gears.java:19)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at com.sun.javaws.Launcher.executeApplication(Unknown Source)
	at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
	at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
	at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
	at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
	at com.sun.javaws.Launcher.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
#### Java Web Start Error:
#### null

This is when running the JOGL gears demo from webstart.

When you say the jogl.jar is in “lib” and the jogl.dll in “bin”, are you talking about directories in your local JRE? This is a no-no as has been described repeatedly on the forum as well as in the JOGL User’s Guide. If this is the case, delete these files from your JRE and try the web start demos again.

If they still fail, try downloading things locally again, set up your CLASSPATH environment variable to point to a semicolon-separated list of jar files (jogl.jar, jogl-demos.jar, etc.), set up your PATH environment variable to contain the directory containing jogl.dll, and try things again. We need a more descriptive error message out of Java to be able to diagnose this problem further. Java should report something about dependent libraries if in fact it can’t properly bind jogl.dll, which doesn’t seem to be the case here.

[quote]When you say the jogl.jar is in “lib” and the jogl.dll in “bin”, are you talking about directories in your local JRE? This is a no-no as has been described repeatedly on the forum as well as in the JOGL User’s Guide. If this is the case, delete these files from your JRE and try the web start demos again.
[/quote]
Now that you mention it, I do vaguely recall that placing the jar/dll in lib/bin can interfere with webstart, but my intial problems were with binding JOGL locally.
In any case, deleting the files doesn’t seem to have improved the situation.
I apologise if this is an old problem, but I searched on the forums for ‘NT install’ without much luck at the time.

Actually, the exceptions tab seems to give some further information.


java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at com.sun.javaws.Launcher.executeApplication(Unknown Source)
	at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
	at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
	at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
	at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
	at com.sun.javaws.Launcher.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.UnsatisfiedLinkError: no jogl in java.library.path
	at java.lang.ClassLoader.loadLibrary(Unknown Source)
	at java.lang.Runtime.loadLibrary0(Unknown Source)
	at java.lang.System.loadLibrary(Unknown Source)
	at com.sun.opengl.impl.NativeLibLoader$DefaultAction.loadLibrary(NativeLibLoader.java:78)
	at com.sun.opengl.impl.NativeLibLoader.loadLibrary(NativeLibLoader.java:101)
	at com.sun.opengl.impl.NativeLibLoader.access$100(NativeLibLoader.java:47)
	at com.sun.opengl.impl.NativeLibLoader$1.run(NativeLibLoader.java:109)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.sun.opengl.impl.NativeLibLoader.loadCore(NativeLibLoader.java:107)
	at com.sun.opengl.impl.windows.WindowsGLDrawableFactory.<clinit>(WindowsGLDrawableFactory.java:59)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at javax.media.opengl.GLDrawableFactory.getFactory(GLDrawableFactory.java:106)
	at javax.media.opengl.GLCanvas.<init>(GLCanvas.java:113)
	at javax.media.opengl.GLCanvas.<init>(GLCanvas.java:82)
	at javax.media.opengl.GLCanvas.<init>(GLCanvas.java:75)
	at demos.gears.Gears.main(Gears.java:19)
	... 11 more

Thanks again.

This error message doesn’t provide enough information to figure out whether this is an OS-specific problem or due to something in your installation (i.e., a left-over jogl.jar or jogl-demos.jar installed somewhere it isn’t supposed to be).

My recommendation would be to download the nightly build from the JOGL home page, drop the jogl.jar and jogl-demos jars into some directory, unjar the Windows natives jar file, and do

java -cp jogl.jar;jogl-demos.jar -Djava.library.path=. demos.gears.Gears

and post to indicate whether this works or, if not, what the resulting error message is.

Make 100% sure you don’t have any remaining JOGL-related jars in your JRE before running the above test.

Thanks for the advice. The problem’s been largely worked out now.