[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