Anonymous | Login | Signup for a new account | 12-17-2024 08:33 PST |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | ||||||||
ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||||
0001064 | [Resin] | minor | always | 04-20-06 06:45 | 04-11-07 08:57 | ||||
Reporter | sam | View Status | public | ||||||
Assigned To | ferg | ||||||||
Priority | high | Resolution | fixed | ||||||
Status | closed | Product Version | 3.0.18 | ||||||
Summary | 0001064: IBM JDK 1.5 missing jvmdi.h | ||||||||
Description |
(rep by B Bothwell) Hi, we recently started up development again 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. Here are the compile errors I get: [root@waldorf resin]# ./configure --enable-jni --with-jni-include="-I/opt/ibm/java2-i386-50/include -I/opt/ibm/java2-i386-50/include/linux" [/config output cut for brevity, but no errors/warnings occur/] [root@waldorf resin]# make (cd modules/c/src; make) make[1]: Entering directory `/usr/local/resin-pro-3.0.18/modules/c/src' for dir in common resin resinssl resin_os resin_os; do (cd $dir; make); done make[2]: Entering directory `/usr/local/resin-pro-3.0.18/modules/c/src/common' gcc -c -I/usr/include -g -O2 -DPOLL -DHAS_JVMTI stream.c gcc -c -I/usr/include -g -O2 -DPOLL -DHAS_JVMTI config.c gcc -c -I/usr/include -g -O2 -DPOLL -DHAS_JVMTI memory.c /usr/bin/ld -r -o common.o stream.o config.o memory.o /usr/local/resin/libtool --silent --mode=compile gcc -o stream.lo -c -I/usr/include -g -O2 -DPOLL -DHAS_JVMTI stream.c /usr/local/resin/libtool --silent --mode=compile gcc -o config.lo -c -I/usr/include -g -O2 -DPOLL -DHAS_JVMTI config.c /usr/local/resin/libtool --silent --mode=compile gcc -o memory.lo -c -I/usr/include -g -O2 -DPOLL -DHAS_JVMTI memory.c make[2]: Leaving directory `/usr/local/resin-pro-3.0.18/modules/c/src/common' make[2]: Entering directory `/usr/local/resin-pro-3.0.18/modules/c/src/resin' gcc -g -O2 -DPOLL -DHAS_JVMTI -DRESIN_HOME=\"/usr/local/resin\" -I/usr/include -I/opt/ibm/java2-i386-50/include -I/opt/ibm/java2-i386-50/include/linux -I../common -DCPU=\"i386\" -DOS= -D_FILE_OFFSET_BITS=64 -c -o std.o std.c gcc -g -O2 -DPOLL -DHAS_JVMTI -DRESIN_HOME=\"/usr/local/resin\" -I/usr/include -I/opt/ibm/java2-i386-50/include -I/opt/ibm/java2-i386-50/include/linux -I../common -DCPU=\"i386\" -DOS= -D_FILE_OFFSET_BITS=64 -c -o memory.o memory.c gcc -g -O2 -DPOLL -DHAS_JVMTI -DRESIN_HOME=\"/usr/local/resin\" -I/usr/include -I/opt/ibm/java2-i386-50/include -I/opt/ibm/java2-i386-50/include/linux -I../common -DCPU=\"i386\" -DOS= -D_FILE_OFFSET_BITS=64 -c -o jni_vfs.o jni_vfs.c jni_vfs.c:81:19: error: jvmdi.h: No such file or directory make[2]: *** [jni_vfs.o] Error 1 |
||||||||
Additional Information | |||||||||
Attached Files | |||||||||
|
Notes | |
(0001094) sam 04-20-06 11:08 |
(rep by J Woolf) This may shed some light. As JVMDI is being deprecated, perhaps the engineers at IBM made the switch early. http://java.sun.com/j2se/1.5.0/docs/guide/jpda/index.html [^] |
(0001835) sam 04-11-07 08:57 |
The jvmdi.h files is also not available with Java 6. As a workaround, lines which include jvmdi.h and cause compilation errors can be removed from the C source files. The lines look like this: #include "jvmdi.h" |
Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
37 total queries executed. 29 unique queries executed. |