[fedora-java] Java OpenGL on FC4

Anthony Green green at redhat.com
Mon Aug 15 05:21:12 UTC 2005


On Sun, 2005-08-14 at 20:26 -0700, John M. Gabriele wrote:
> [john at localhost ~/dev/java/JOGL_Example]$ gij -cp /usr/share/java/jogl.jar Test
> Exception in thread "main" java.lang.UnsatisfiedLinkError: libjawt: file not
> found
>    at java.lang.Runtime._load(java.lang.String, boolean)
> (/usr/lib/libgcj.so.6.0.0)

For some reason gij doesn't know where libjawt.so is.  I think fitzsim
and I have discussed, but I don't recall the result.

Try doing this before running your program.  It should fix it:

$ export LD_LIBRARY_PATH=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre/lib/i386

> Compiling to object works also:
> 
> gcj --classpath=/usr/share/java/jogl.jar -c Test.java
> 
> but trying to link that fails:
> 
> [john at localhost ~/dev/java/JOGL_Example]$ gcj
> --classpath=/usr/share/java/jogl.jar --main=Test -o MyTest Test.o
> Test.o(.text+0x1d): In function
> `TestRenderer::init(net::java::games::jogl::GLDrawable*)':
> Test.java: undefined reference to `net::java::games::jogl::GLDrawable::class$'

There are two solutions:

1. Compile your code with -findirect-dispatch.

This will replace symbolic references to the jogl code with runtime name
lookups.

or

2. Link with -ljogl.jar.  This will link libjogl.jar.so to your program,
which should resolve all of the jogl symbols.

Good luck!

AG








More information about the java-devel mailing list