Hello

This may seem like a very strange request, and it  probably is.

I have some Inline Java in my perl program. I would like to load some native
C libraries (.so). I compiled Inline Java without the JNI extensions, when I
triid, it complained about the fact that it couldn't find jni.h in my JDK.
When I run my program now, I get this

This is what I get when I use the loadLibrary method on a Runtime instance.

Unexpected exception of type 'java.lang.UnsatisfiedLinkError': no
<libraryname>.so in java.library.path at
/usr/lib/perl5/site_perl/5.8.0/Inline/Java/Object.pm line 48

When I use the full path, with the load method, the call works to load the
library but the first call to a method throws
java.lang.UnsatisfiedLinkError.

I have tried adding java.library.path as an EXTRA_JAVA_ARGS

use Inline Java => <<'END_OF_JAVA_CODE',EXTRA_JAVA_ARGS =>
'-Djava.library.path=/lib' ;
...

Before I go any further I would like to know

1. Is it going to be possible, to call methods in my .so files with Inline
Java ?
2. Will I have to compile in JNI support ? Where should the jni.h be ? I
installed the full 1.4.2 JDK from Sun.
3. How can I get loadLibrary to recognise my java.library.path and why won't
the call to the method work when I use load ?

I am on RedHat Linux 9.0.

Thanks


Chris Faulkner



Reply via email to