Hi,
I am trying to invoke the Java Virtual Machine under linux using
blackdown j2sdk1.3.0 - i386 package and glibc.
When I assign vm_args.version to be JNI_VERSION_1_1, the
JNI_CreateJavaVM() call is returning an error and the JavaVM is not
created (both jvm and env variables remain NULL).
When I assign vm_args.version to be JNI_VERSION_1_2, an irrecoverable
stack overflow occurs. The gdb backtrace is as follows when using
client/libjvm.so, server/libjvm.so or hotspot/libjvm.so:
Program received signal SIGSEGV, Segmentation fault.
0x619583 in strncmp () from /lib/libc.so.6
(gdb) bt
#0 0x619583 in strncmp () from /lib/libc.so.6
#1 0xa in ?? ()
::::::::
My application will not compile when using classic/libjvm.so due to an
undefined reference to jdk_pthread_sigmask
Relevant Code for LoadJavaVM.cpp:
..........
JNIEnv * env;
JavaVM* jvm;
JDK1_1InitArgs vm_args; /* Is there a different struct for 1.2
information? */
jint res;
vm_args.version = JNI_VERSION_1_1;
JNI_GetDefaultJavaVMInitArgs(&vm_args);
vm_args.classpath = ":.";
res = JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args);
if (res < 0) {
fprintf(stderr, "Can't create Java VM\n");
exit(1);
/* Application is exiting here */
}
........
My arguments at the command line are :
g++ -I /blackdown/j2sdk1.3.0/include -I
/blackdown/j2sdk1.3.0/include/linux -L
/blackdown/j2sdk1.3.0/jre/lib/i386 -L
/blackdown/j2sdk1.3.0/jre/lib/i386/classic -L
/blackdown/j2sdk1.3.0/jre/lib/i386/green_threads LoadJavaVM.cpp -o
LoadJavaVM -ljvm -lpthread
... when I try the classic/libjvm.so
I would greatly appreciate any help you can offer me with respect to
invoking a Java Virtual Machine for use with the Java Native Interface.
Thanks in advance,
Damien
----------------------------------------------------------------------
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]