Rémy,
At the risk of pointing out the obvious as I'm sure that you are much
more familiar with this than I am:
On 7/10/2019 11:42 AM, Rémy Maucherat wrote:
Hi,
I'm a bit stumped there, as I'm trying to get native to work in that
rather special environment.
JNI_OnLoad fails with:
WARNING: The APR based Apache Tomcat Native library failed to load.
The error reported was [Unsupported JNI version 0xffffffff, required
by bin/libtcnative-1.so.0.2.23]
java.lang.UnsatisfiedLinkError: Unsupported JNI version 0xffffffff,
required by bin/libtcnative-1.so.0.2.23
at
com.oracle.svm.jni.JNILibraryInitializer.initialize(JNILibraryLoadFeature.java:87)
at
com.oracle.svm.core.jdk.NativeLibrarySupport.loadLibrary0(NativeLibrarySupport.java:153)
at
com.oracle.svm.core.jdk.NativeLibrarySupport.loadLibrary(NativeLibrarySupport.java:98)
at
java.lang.ClassLoader.loadLibrary(Target_java_lang_ClassLoader.java:126)
at java.lang.Runtime.load0(Runtime.java:809)
at java.lang.Runtime.load(Runtime.java:241)
at java.lang.System.load(System.java:366)
at org.apache.tomcat.jni.Library.<init>(Library.java:42)
Although this looks weird, this is actually returning -1 and it's
normal when it fails [it's a bad error message]. Most likely this
doesn't work:
if ((*vm)->GetEnv(vm, &ppe, JNI_VERSION_1_4)) {
return JNI_ERR;
}
Any ideas ?
From [1]: "JNI_OnLoad must return the JNI version needed by the native
library". -1 is translated into 0xffffffff, which is the invalid result.
From the snippet you posted I'm guessing that the returned value is
supposed to be JNI_VERSION_1_4 or greater.
Do you know what that snippet is trying to check?
Igal
[1]
https://docs.oracle.com/javase/8/docs/technotes/guides/jni/spec/invocation.html#JNJI_OnLoad
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org