configure doesn't figure out how to link to
libjava.a. It tries to link to libjava.so.
I linked libjava.a -> libjava.so to get it to compile.
AIX uses LIBPATH instead of LD_LIBRARY_PATH to
execute dynamic linking.
I changed Makefile.in and added a LIBPATH lind under
the LD_LIBRARY_PATH line in the shell_tclblend target.
LIBPATH="$(BUILD_DIR):$(TCL_BIN_DIR):$(THREAD_BIN_DIR)
:$(JAVA_LIB_RUNTIME_PATH):$(LD_LIBRARY_PATH)" \
java14 that is before SR6 has a bug in
JNI_GetCreatedJavaVMs, which causes it to return 1.
if that function has a nonzero status, it jumps to
error:
error will try and free 'options[0].optionString',
and 'options' which haven't been set yet (causing a
core dump).
i set options to null at the top of JavaInitEnv where
it is declared. (I can't remember if it always takes
a zero value by default).
JavaVMOption *options=NULL;
and in the error handler make sure it's set.
#ifdef JDK1_2
if (options != NULL)
{
ckfree((char *) options[0].optionString);
ckfree((char *) options);
}
In order to fix the problem with
JNI_GetCreatedJavaVMs, you have to upgrade your java
version. (I know that SR6 works).
you can download it from here.
http://www-
128.ibm.com/developerworks/java/jdk/aix/service.html
last but not least, after installiing the new java
you will get this error:
% package require java
TclBLendTrace: Entrypoint Tclblend_Init
JVMCI200 - ERROR: User register saving is not
enabled, Garbage Collection could be incorrect.
JVMCI200 - ERROR: because of this the JVM library is
explicitly aborting the process
JVMCI200 - ERROR: You must either rebuild the
executable using "-bM:UR"
JVMCI200 - ERROR: or run with "export
LDR_CNTRL=USERREGS"
make: *** [shell_tclblend] IOT/Abort trap (core
dumped)
after doing some research on the IBM site, it appears
that there are no problems with following those
instructions and setting the env variable
LDR_CNTRL=USERREGS.