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]

Reply via email to