NonStop Server for Java Programmer's Reference (NSJ 4.0+)

not been linked into the Java VM, instead of catching the error when the native method is called:
Execute java and set the compaq.liblist system property to refer to the JavaLibList file
generated during the make operation. For example:
java -Dcompaq.liblist=\
/usr/tandem/java/bin/JavaLibList class-name
1.
When make is invoked to link native libraries into the java executable the, Makefile creates a special
file called JavaLibList in the same directory as the java executable. The JavaLibList contains
a list of libraries known to be statically linked into the Java VM just built with the exception that any
.lib suffixes have been replaced with .a. This file lists several internal libraries that should not be
removed or changed. The string a Java program passes to the System.loadLibrary method is
assumed to correspond to an actual file name of lib<string>.a. If the native library does not
follow the naming convention of either lib<string>.a or lib<string>.lib, then the
Makefile does not create a correct entry for the library. Therefore, you must edit the JavaLibList
file such that each entry matches the format lib<string>.a, where <string> is the value passed
to the System.loadLibrary method. If the native libraries do not follow the expected naming
convention and the JavaLibList file is not edited, then you get an incorrect
UnsatisfiedLinkError exception when using the compaq.liblist system property.
2.
Linker and Compiler Options
Compiler Options
When you compile an object file for use with NonStop Server for Java 4, you must use the following
compiler option to identify which dialect of the C++ compiler is to be used:
-Wversion2
Because NonStop Server for Java 4 does not support DLLs, never use the -Wcall_shared to compile JNI
code.
In addition, for a compilation unit containing JNI code that has any floating-point parameters being passed
across the JNI boundary and that is directly called by the Java VM, you must use the compiler option:
-WIEEE_float
Any compilation units not called directly by the Java VM can be compiled without the –WIEEE_float
option; however, the complications that can occur while using such mixed modes are beyond the scope of
this document.
Linker Options
When building native libraries, you must use the following linker options:
–set floattype IEEE_float
-set CPlusPlusDialect version2