B
brian.bothwell
Hi, we recently started up development using Resin (resin-pro-3.0.18),
and wanted to use IBM's 1.5 JDK due to its increased performance over
the Sun JDK (I confirmed this with simple benchmarks
myself). However, I am unable to get Resin to compile with IBM's JDK
(ibm-java2-i386-sdk-5.0-1.0) due to some missing JNI library files.
The error with make is:
jni_vfs.c:81:19: error: jvmdi.h: No such file or directory
make[2]: *** [jni_vfs.o] Error 1
The IBM JDK include files are here:
/opt/ibm/java2-i386-50/include/:
jawt.h jawt_md.h jdwpTransport.h jni.h jniport.h jvmpi.h jvmras.h
jvmri.h jvmti.h linux
/opt/ibm/java2-i386-50/include/linux:
jawt.h jawt_md.h jdwpTransport.h jni.h jniport.h jvmpi.h jvmras.h
jvmri.h jvmti.h linux
Note that the jvmdi.h is missing. I installed and configured the Sun
1.5 JDK, and it has the missing file:
/usr/java/jdk1.5.0_06/include/:
jawt.h jdwpTransport.h jni.h jvmdi.h jvmpi.h jvmti.h linux
/usr/java/jdk1.5.0_06/include/linux:
jawt_md.h jni_md.h
I am not sure why IBM doesn't include this file in their 1.5 JDK (they
include it with their older JDKs, inclusing 1.3 and 1.4)
I was able to get the JNI modules to compile in Resin by linking to the
Sun JDK files, but I wasn't sure if this was a good idea to run Resin
under one JDK when it was compiled against another. I also didn't want
to copy over the missing jvmdi.h from another JDK, as this might lead
to
other problems.
and wanted to use IBM's 1.5 JDK due to its increased performance over
the Sun JDK (I confirmed this with simple benchmarks
myself). However, I am unable to get Resin to compile with IBM's JDK
(ibm-java2-i386-sdk-5.0-1.0) due to some missing JNI library files.
The error with make is:
jni_vfs.c:81:19: error: jvmdi.h: No such file or directory
make[2]: *** [jni_vfs.o] Error 1
The IBM JDK include files are here:
/opt/ibm/java2-i386-50/include/:
jawt.h jawt_md.h jdwpTransport.h jni.h jniport.h jvmpi.h jvmras.h
jvmri.h jvmti.h linux
/opt/ibm/java2-i386-50/include/linux:
jawt.h jawt_md.h jdwpTransport.h jni.h jniport.h jvmpi.h jvmras.h
jvmri.h jvmti.h linux
Note that the jvmdi.h is missing. I installed and configured the Sun
1.5 JDK, and it has the missing file:
/usr/java/jdk1.5.0_06/include/:
jawt.h jdwpTransport.h jni.h jvmdi.h jvmpi.h jvmti.h linux
/usr/java/jdk1.5.0_06/include/linux:
jawt_md.h jni_md.h
I am not sure why IBM doesn't include this file in their 1.5 JDK (they
include it with their older JDKs, inclusing 1.3 and 1.4)
I was able to get the JNI modules to compile in Resin by linking to the
Sun JDK files, but I wasn't sure if this was a good idea to run Resin
under one JDK when it was compiled against another. I also didn't want
to copy over the missing jvmdi.h from another JDK, as this might lead
to
other problems.