[libinline-java-perl] 173/398: doc

Jonas Smedegaard dr at jones.dk
Thu Feb 26 11:43:01 UTC 2015


This is an automated email from the git hooks/post-receive script.

js pushed a commit to tag 0.55
in repository libinline-java-perl.

commit a0d072cc093970ceeef00c09d11a8a938fe3a66a
Author: patrick_leb <>
Date:   Wed Feb 6 21:09:33 2002 +0000

    doc
---
 MANIFEST   |  1 +
 README.JNI | 68 ++++++++++++++++++++++++++++++++++++++++++++++----------------
 2 files changed, 52 insertions(+), 17 deletions(-)

diff --git a/MANIFEST b/MANIFEST
index 2a81517..df3ff11 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -39,3 +39,4 @@ t/types.java
 t/types.class
 t/no_const.java
 t/no_const.class
+t/shared.java
diff --git a/README.JNI b/README.JNI
index 1b58c4e..e5636f6 100644
--- a/README.JNI
+++ b/README.JNI
@@ -12,12 +12,38 @@ The extension builds properly on all platform, but problems can occur when
 running it or tweaking maybe necessary on certain platforms. All help
 is welcome if anyone out there is a JNI expert.
 
+The reason why JNI is a bit complex under Linux/Solaris is because of 
+threads. The Java Virtual Machine (libjvm.so) shared object uses native 
+threads when embedded inside another program and that host program (in
+this case Perl) must link with the same threads library for everything 
+to work properly. Luckily by setting LD_PRELOAD we can get around 
+rebuilding Perl. The only problems encountered where that when setting
+LD_PRELOAD before running the test suite, the LD_PRELOAD affects make
+as well and on Solaris some crashes were seen. Read more on this in the 
+Solaris section below.
+
+
+
 Note: Make sure the directories listed at the end of the installation
 procedure are included in your LD_LIBRARY_PATH (PATH on Win32) environment
 variable. This JNI extension will not load properly the the Java shared 
 objects cannot be located at runtime.
 
 
+OVERVIEW
+--------
+              +----------+----------+
+              | JDK1.2.2 | JDK1.3.1 |
++-------------+----------+----------+
+| Win32		  |    ok    |    ok    | 
++-------------+----------+----------+
+| Linux RH7.1 |  not ok* |    ok*   |
++-------------+----------+----------+
+| Soloris 2.8 |    ok*   |    ok*   |
++-------------+----------+----------+
+*: Read below
+
+
 WIN32
 -----
 Java 2 SDK 1.2.2:
@@ -30,32 +56,40 @@ Java 2 SDK 1.3.1:
 LINUX
 -----
 Java 2 SDK 1.2.2:
-	The JNI extension has been run successfully on Linux, but hanging
-can occur when the process ends. This issue seems to be related to the 
-main thread waiting for other threads to terminate.
+	The JNI extension has not been run successfully on Linux with this 
+Java 2 SDK. Hanging occurs when the process ends. This issue seems to 
+be related to the main thread waiting for other threads to terminate.
 
 Java 2 SDK 1.3.1:
-	The JNI extension runs mostly without problems, provided that you 
-add <Java 2 SDK installation path>/jre/lib/<arch>/native_threads/libhpi.so
-to your LD_PRELOAD environment variable. Some thread related errors have
-been seen on script startup.
+	The JNI extension runs without problems with this Java 2 SDK, provided
+that you add the proper version of libpthread.so to your LD_PRELOAD 
+environment variable. On my test system this was /lib/i686/libpthread.so.0
+You can also rebuild Perl and add that library in front of all others.
 
 
 SOLARIS
 -------
 Java 2 SDK 1.2.2:
-	The JNI extension has been run successfully on Solaris, provided 
-that you add 
-<Java 2 SDK installation path>/jre/lib/<arch>/libmonitor_v8.so
-to your LD_PRELOAD environment variable. Some thread related errors have
-been seen on script startup.
+	The JNI extension has been run successfully with this Java 2 SDK,
+provided that you add the proper version of libthread.so to your LD_PRELOAD 
+environment variable. On my test system this was /lib/libthread.so. You can 
+also rebuild Perl and add that library in front of all others. On some 
+occasions thread related crashes have been seen while running the test suite,
+but they seemed to come from make and not from the test suite per se.
+Running the test suite like this:
+	% for i in `ls t/*.t` ; do perl -Mblib $i; done
+was fine.
 
 Java 2 SDK 1.3.1:
-	The JNI extension has been run successfully on Solaris, provided that 
-you add /lib/libthread.so and
-<Java 2 SDK installation path>/jre/lib/<arch>/native_threads/libhpi.so
-to your LD_PRELOAD environment variable. Some thread related errors have
-been seen on script startup.
+	The JNI extension has been run successfully with this Java 2 SDK,
+provided that you add the proper version of libthread.so to your LD_PRELOAD 
+environment variable. On my test system this was /lib/libthread.so. You can 
+also rebuild Perl and add that library in front of all others. On some 
+occasions thread related crashes have been seen while running the test suite,
+but they seemed to come from make and not from the test suite per se.
+Running the test suite like this:
+	% for i in `ls t/*.t` ; do perl -Mblib $i; done
+was fine.
 
 
 Note: These results where achieved with Perl 5.6.1 complied with gcc 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libinline-java-perl.git



More information about the Pkg-perl-cvs-commits mailing list