On Sun, 2005-08-14 at 22:21 -0700, Anthony Green wrote:
On Sun, 2005-08-14 at 20:26 -0700, John M. Gabriele wrote:
> [john@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
Yes, to fix this properly we need to add that directory to the
java.library.path system property. I filed a bug:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23403
Tom
> Compiling to object works also:
>
> gcj --classpath=/usr/share/java/jogl.jar -c Test.java
>
> but trying to link that fails:
>
> [john@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
--
fedora-devel-java-list mailing list
fedora-devel-java-list(a)redhat.com
https://www.redhat.com/mailman/listinfo/fedora-devel-java-list