Code Comments

Programming Forum and web based access to our favorite programming groups.
For Programmers: Free Programming Magazines | New: Database administration forum
Registration is free! Edit your profileCalendarFind other membersFrequently Asked QuestionsSearch -> 
Post New Thread











Thread
Author

Cannot get Inline Java to work with JNI
I have been trying to get Inline Jave to work with JNI.  I am using
Inline Java .52 with MINGW and nmake.   It seems to build fine but all
the tests fail.  Note that all tests pass without building with JNI.
I am generating libjvm.a from jvm.dll with: dlltool --kill-at -dllname
jvm.dll --def jvm.def --output-lib libjvm.a

Here is the build log with the tests output:

set PERL_INLINE_JAVA_JNI=1
C:\sylvaint\Inline-Java-0.52>perl Makefile.PL J2SDK=C:\jdk1.5.0_15
Set up gcc environment - 3.4.5 (mingw special)

Welcome to the Inline::Java installation procedure.

Default J2SDK for Inline::Java will be 'C:\jdk1.5.0_15'.
See module documentation for information on how to use a different
J2SDK
or change this default value.

Checking if your kit is complete...
Looks good

Inline::Java can use a JNI extension that allows the Java Virtual
Machine
(JVM) to be dynamically linked with Perl instead of running as a
separate
process. The use of this extension is optional, and building it still
allows Inline::Java to run the JVM in the default (separate process)
fashion.
Note: You need a C compiler to build the extension.
Note: You must build the extension if you wish to use PerlNatives or
PerlInterpreter.
Do you wish to build the JNI extension? [y]

Building JNI extension.

1) C:\jdk1.5.0_15\jre\bin\client
2) C:\jdk1.5.0_15\jre\bin\server
Please select from the above list which 'jvm.dll' to use: [1]

Building with:
C:\jdk1.5.0_15\include\jni.h
C:\jdk1.5.0_15\include\win32\jni_md.h
C:\jdk1.5.0_15\lib\jvm.lib
C:\jdk1.5.0_15\jre\bin\client\jvm.dll

Note: In order for Inline::Java to use the JNI extension, you will
need to
use the JNI configuration option or set the PERL_INLINE_JAVA_JNI
environment
variable to a true value. You will also need to add the following
directories
to your PATH environment variable:
C:\jdk1.5.0_15\jre\bin\client
C:\jdk1.5.0_15\jre\bin
See README.JNI for more information.

The PerlNatives extension allows for callbacks to be defined as native
Java methods. It is still EXPERIMENTAL and may not build or work
properly
on all platforms. See documentation for more details.
Note: PerlNatives requires J2SDK 1.4 or greater.
Do you wish to build the PerlNatives extension? [n]

The PerlInterpreter extension allows Inline::Java to be loaded
directly from
Java using an embedded Perl interpreter. It is still EXPERIMENTAL and
may not build or work properly on all platforms. See documentation for
more details.
Do you wish to build the PerlInterpreter extension? [n]

Writing Makefile for Inline::Java::JNI
Writing Makefile for Inline::Java

You can continue the installation with the following commands:
% nmake
% nmake test
% nmake install

C:\sylvaint\Inline-Java-0.52>nmake

Microsoft (R) Program Maintenance Utility   Version 1.50
Copyright (c) Microsoft Corp 1988-94. All rights reserved.

"C:\jdk1.5.0_15\bin\javac.exe" -deprecation -g -d Java\classes
Java\sour
ces\org\perl\inline\java\*.java
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
"C:\jdk1.5.0_15\bin\jar.exe" cf Java\InlineJavaServer.jar -C
Java\classe
s org -C Java\classes InlineJava.properties
"C:\jdk1.5.0_15\bin\jar.exe" cf Java\InlineJavaUser.jar -C Java
\classes
InlineJavaUserClassLink.class
cp Java.pm blib\lib\Inline\Java.pm
cp Java.pod blib\lib\Inline\Java.pod
cp Java\InlineJavaUser.jar blib\lib\Inline\Java\InlineJavaUser.jar
cp Java\InlineJavaServer.jar blib\lib\Inline\Java\InlineJavaServer.jar
nmake -f Makefile all -nologo
cp sources\org\perl\inline\java/InlineJavaServerThread.java ..\blib\lib
\Inline\J
 ava\sources\org\perl\inline\java\InlineJ
avaServerThread.java
cp default_j2sdk.pl ..\blib\lib\Inline\Java\default_j2sdk.pl
cp sources\org\perl\inline\java/InlineJavaPerlInterpreter.java ..\blib
\lib\Inlin
 e\Java\sources\org\perl\inline\java\Inli
neJavaPerlInterpreter.java
cp Protocol.pm ..\blib\lib\Inline\Java\Protocol.pm
cp sources\org\perl\inline\java/InlineJavaCallbackQueue.java ..\blib
\lib\Inline\
 Java\sources\org\perl\inline\java\Inline
JavaCallbackQueue.java
cp Class.pm ..\blib\lib\Inline\Java\Class.pm
cp sources\org\perl\inline\java/InlineJavaThrown.java ..\blib\lib
\Inline\Java\so
 urces\org\perl\inline\java\InlineJavaThr
own.java
cp sources\org\perl\inline\java/InlineJavaProtocol.java ..\blib\lib
\Inline\Java\
 sources\org\perl\inline\java\InlineJavaP
rotocol.java
cp sources\org\perl\inline\java/InlineJavaPerlObject.java ..\blib\lib
\Inline\Jav
 a\sources\org\perl\inline\java\InlineJav
aPerlObject.java
cp sources\org\perl\inline\java/InlineJavaUserClassLink.java ..\blib
\lib\Inline\
 Java\sources\org\perl\inline\java\Inline
JavaUserClassLink.java
cp sources\org\perl\inline\java/InlineJavaException.java ..\blib\lib
\Inline\Java
 \sources\org\perl\inline\java\InlineJava
Exception.java
cp sources\org\perl\inline\java/InlineJavaArray.java ..\blib\lib\Inline
\Java\sou
 rces\org\perl\inline\java\InlineJavaArra
y.java
cp sources\org\perl\inline\java/
InlineJavaInvocationTargetException.java ..\blib
 \lib\Inline\Java\sources\org\perl\inline
\java
\InlineJavaInvocationTargetExceptio
n.java
cp sources\org\perl\inline\java/InlineJavaCallback.java ..\blib\lib
\Inline\Java\
 sources\org\perl\inline\java\InlineJavaC
allback.java
cp Callback.pod ..\blib\lib\Inline\Java\Callback.pod
cp sources\org\perl\inline\java/InlineJavaClass.java ..\blib\lib\Inline
\Java\sou
 rces\org\perl\inline\java\InlineJavaClas
s.java
cp sources\org\perl\inline\java/InlineJavaPerlException.java ..\blib
\lib\Inline\
 Java\sources\org\perl\inline\java\Inline
JavaPerlException.java
cp JVM.pm ..\blib\lib\Inline\Java\JVM.pm
cp sources\org\perl\inline\java/InlineJavaPerlNatives.java ..\blib\lib
\Inline\Ja
 va\sources\org\perl\inline\java\InlineJa
vaPerlNatives.java
cp Server.pm ..\blib\lib\Inline\Java\Server.pm
cp sources\org\perl\inline\java/InlineJavaUserClassLoader.java ..\blib
\lib\Inlin
 e\Java\sources\org\perl\inline\java\Inli
neJavaUserClassLoader.java
cp Portable.pm ..\blib\lib\Inline\Java\Portable.pm
cp Array.pm ..\blib\lib\Inline\Java\Array.pm
cp sources\org\perl\inline\java/InlineJavaCastException.java ..\blib
\lib\Inline\
 Java\sources\org\perl\inline\java\Inline
JavaCastException.java
cp Handle.pm ..\blib\lib\Inline\Java\Handle.pm
cp sources\org\perl\inline\java/InlineJavaServer.java ..\blib\lib
\Inline\Java\so
 urces\org\perl\inline\java\InlineJavaSer
ver.java
cp sources\org\perl\inline\java/InlineJavaPerlCaller.java ..\blib\lib
\Inline\Jav
 a\sources\org\perl\inline\java\InlineJav
aPerlCaller.java
cp Callback.pm ..\blib\lib\Inline\Java\Callback.pm
cp Object.pm ..\blib\lib\Inline\Java\Object.pm
cp sources\org\perl\inline\java/InlineJavaUtils.java ..\blib\lib\Inline
\Java\sou
 rces\org\perl\inline\java\InlineJavaUtil
s.java
cp sources\org\perl\inline\java/InlineJavaHandle.java ..\blib\lib
\Inline\Java\so
 urces\org\perl\inline\java\InlineJavaHan
dle.java
cp JNI.pm ..\blib\lib\Inline\Java\JNI.pm
C:\Perl\bin\perl.exe C:\Perl\lib\ExtUtils\xsubpp  -typemap C:
\Perl\lib\E
xtUtils\typemap -typemap typemap  JNI.xs > JNI.xsc && C:\Perl\bin
\perl.exe -MExt
Utils::Command -e mv JNI.xsc JNI.c
gcc -c  "-IC:\jdk1.5.0_15\include" "-IC:\jdk1.5.0_15\include
\win32"  -DN
DEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED -
DUSE_SITE
CUSTOMIZE -DPRIVLIB_LAST_IN_INC -DPERL_IMPLICIT_CONTEXT -
DPERL_IMPLICIT_SYS -DUS
E_PERLIO -DPERL_MSVCRT_READFIX -DHASATTRIBUTE -fno-strict-aliasing -
O2    -DVERS
ION=\"0.52\"  -DXS_VERSION=\"0.52\"  "-IC:\Perl\lib\CORE"   JNI.c
Running Mkbootstrap for Inline::Java::JNI ()
C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 JNI.bs
C:\Perl\bin\perl.exe -MExtUtils::Mksymlists  -e
"Mksymlists('NAME'=>\"In
line::Java::JNI\", 'DLBASE' => 'JNI', 'DL_FUNCS' => {  }, 'FUNCLIST'
=> [], 'IMP
ORTS' => {  }, 'DL_VARS' => []);"
Set up gcc environment - 3.4.5 (mingw special)
dlltool --def JNI.def --output-exp dll.exp
g++ -o ..\blib\arch\auto\Inline\Java\JNI\JNI.dll -Wl,--base-
file -Wl,dll
.base -mdll -L"C:\Perl\lib\CORE" JNI.o -Wl,--image-base,0x2e220000  C:
\Perl\lib\
CORE\perl58.lib C:\jdk1.5.0_15\lib\libjvm.a C:\MinGW\lib\libkernel32.a
C:\MinGW\
lib\libuser32.a C:\MinGW\lib\libgdi32.a C:\MinGW\lib\libwinspool.a C:
\MinGW\lib\
libcomdlg32.a C:\MinGW\lib\libadvapi32.a C:\MinGW\lib\libshell32.a C:
\MinGW\lib\
libole32.a C:\MinGW\lib\liboleaut32.a C:\MinGW\lib\libnetapi32.a C:
\MinGW\lib\li
buuid.a C:\MinGW\lib\libws2_32.a C:\MinGW\lib\libmpr.a C:\MinGW\lib
\libwinmm.a C
:\MinGW\lib\libversion.a C:\MinGW\lib\libodbc32.a C:\MinGW\lib
\libodbccp32.a C:\
MinGW\lib\libmsvcrt.a dll.exp
dlltool --def JNI.def --base-file dll.base --output-exp
dll.exp
g++ -o ..\blib\arch\auto\Inline\Java\JNI\JNI.dll -mdll -L"C:
\Perl\lib\CO
RE" JNI.o -Wl,--image-base,0x2e220000  C:\Perl\lib\CORE\perl58.lib C:
\jdk1.5.0_1
5\lib\libjvm.a C:\MinGW\lib\libkernel32.a C:\MinGW\lib\libuser32.a C:
\MinGW\lib\
libgdi32.a C:\MinGW\lib\libwinspool.a C:\MinGW\lib\libcomdlg32.a C:
\MinGW\lib\li
badvapi32.a C:\MinGW\lib\libshell32.a C:\MinGW\lib\libole32.a C:\MinGW
\lib\libol
eaut32.a C:\MinGW\lib\libnetapi32.a C:\MinGW\lib\libuuid.a C:\MinGW\lib
\libws2_3
2.a C:\MinGW\lib\libmpr.a C:\MinGW\lib\libwinmm.a C:\MinGW\lib
\libversion.a C:\M
inGW\lib\libodbc32.a C:\MinGW\lib\libodbccp32.a C:\MinGW\lib
\libmsvcrt.a dll.exp

C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 755 ..\blib
\arch\auto\
Inline\Java\JNI\JNI.dll
C:\Perl\bin\perl.exe -MExtUtils::Command -e cp JNI.bs ..\blib
\arch\auto\
Inline\Java\JNI\JNI.bs
C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 ..\blib
\arch\auto\
Inline\Java\JNI\JNI.bs
cd ..

C:\sylvaint\Inline-Java-0.52>nmake test

Microsoft (R) Program Maintenance Utility   Version 1.50
Copyright (c) Microsoft Corp 1988-94. All rights reserved.

nmake -f Makefile all -nologo
cd ..
C:\Perl\bin\perl.exe "-MExtUtils::Command::MM" "-e"
"test_harness(0, 'bl
ib\lib', 'blib\arch')" t/*.t
t/01_init..............Set up gcc environment - 3.4.5 (mingw special)
Set up gcc environment - 3.4.5 (mingw special)
Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
\lib/Inline/
Java/JVM.pm line 54.
INIT failed--call queue aborted.
t/01_init..............dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED test 1
Failed 1/1 tests, 0.00% okay
t/02_primitives........Set up gcc environment - 3.4.5 (mingw special)
Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
\lib/Inline/
Java/JVM.pm line 54.
INIT failed--call queue aborted.
t/02_primitives........dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 1-102
Failed 102/102 tests, 0.00% okay
t/02_primitives_1_4....Set up gcc environment - 3.4.5 (mingw special)
Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
\lib/Inline/
Java/JVM.pm line 54.
BEGIN failed--compilation aborted at t/02_primitives_1_4.t line 24.
t/02_primitives_1_4....dubious
Test returned status 2 (wstat 512, 0x200)
t/03_objects...........Set up gcc environment - 3.4.5 (mingw special)

Note: inner_obj13.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
\lib/Inline/
Java/JVM.pm line 54.
INIT failed--call queue aborted.
t/03_objects...........dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 1-16
Failed 16/16 tests, 0.00% okay
t/04_members...........Set up gcc environment - 3.4.5 (mingw special)

Note: _04_members_t_17c5.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
\lib/Inline/
Java/JVM.pm line 54.
INIT failed--call queue aborted.
t/04_members...........dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 1-28
Failed 28/28 tests, 0.00% okay
t/05_arrays............Set up gcc environment - 3.4.5 (mingw special)
Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
\lib/Inline/
Java/JVM.pm line 54.
INIT failed--call queue aborted.
t/05_arrays............dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 1-55
Failed 55/55 tests, 0.00% okay
t/06_static............Set up gcc environment - 3.4.5 (mingw special)

Note: types6.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
\lib/Inline/
Java/JVM.pm line 54.
INIT failed--call queue aborted.
t/06_static............dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 1-10
Failed 10/10 tests, 0.00% okay
t/07_polymorph.........Set up gcc environment - 3.4.5 (mingw special)
Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
\lib/Inline/
Java/JVM.pm line 54.
INIT failed--call queue aborted.
t/07_polymorph.........dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 1-24
Failed 24/24 tests, 0.00% okay
t/08_study.............Set up gcc environment - 3.4.5 (mingw special)
Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
\lib/Inline/
Java/JVM.pm line 54.
BEGIN failed--compilation aborted at t/08_study.t line 20.
t/08_study.............dubious
Test returned status 2 (wstat 512, 0x200)
t/09_usages............Set up gcc environment - 3.4.5 (mingw special)
Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
\lib/Inline/
Java/JVM.pm line 54.
BEGIN failed--compilation aborted at t/09_usages.t line 31.
t/09_usages............dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 1-6
Failed 6/6 tests, 0.00% okay
t/10_1_shared_alone....skipped
all skipped: no reason given
t/10_2_shared_start....Set up gcc environment - 3.4.5 (mingw special)
skipped
all skipped: no reason given
t/10_3_shared_use......Set up gcc environment - 3.4.5 (mingw special)
skipped
all skipped: no reason given
t/10_4_shared_stop.....Set up gcc environment - 3.4.5 (mingw special)
skipped
all skipped: no reason given
t/10_5_shared_fork.....Set up gcc environment - 3.4.5 (mingw special)
skipped
all skipped: no reason given
t/10_6_shared_sim......skipped
all skipped: no reason given
t/11_exceptions........Set up gcc environment - 3.4.5 (mingw special)
Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
\lib/Inline/
Java/JVM.pm line 54.
INIT failed--call queue aborted.
t/11_exceptions........dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 1-8
Failed 8/8 tests, 0.00% okay
t/12_1_callbacks.......Set up gcc environment - 3.4.5 (mingw special)
Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
\lib/Inline/
Java/JVM.pm line 54.
INIT failed--call queue aborted.
t/12_1_callbacks.......dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 1-37
Failed 37/37 tests, 0.00% okay
t/13_handles...........Set up gcc environment - 3.4.5 (mingw special)
Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
\lib/Inline/
Java/JVM.pm line 54.
INIT failed--call queue aborted.
t/13_handles...........dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 1-12
Failed 12/12 tests, 0.00% okay
t/14_encoding..........Set up gcc environment - 3.4.5 (mingw special)
Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
\lib/Inline/
Java/JVM.pm line 54.
INIT failed--call queue aborted.
t/14_encoding..........dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 1-9
Failed 9/9 tests, 0.00% okay
t/15_native_doubles....Set up gcc environment - 3.4.5 (mingw special)
Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
\lib/Inline/
Java/JVM.pm line 54.
INIT failed--call queue aborted.
t/15_native_doubles....dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED tests 1-2
Failed 2/2 tests, 0.00% okay
t/99_end...............Set up gcc environment - 3.4.5 (mingw special)
Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
\lib/Inline/
Java/JVM.pm line 54.
BEGIN failed--compilation aborted at t/99_end.t line 15.
t/99_end...............dubious
Test returned status 2 (wstat 512, 0x200)
DIED. FAILED test 1
Failed 1/1 tests, 0.00% okay
Failed Test           Stat Wstat Total Fail  List of Failed
----------------------------------------------------------------------------
---
t/01_init.t              2   512     1    2  1
t/02_primitives.t        2   512   102  204  1-102
t/02_primitives_1_4.t    2   512    ??   ??  ??
t/03_objects.t           2   512    16   32  1-16
t/04_members.t           2   512    28   56  1-28
t/05_arrays.t            2   512    55  110  1-55
t/06_static.t            2   512    10   20  1-10
t/07_polymorph.t         2   512    24   48  1-24
t/08_study.t             2   512    ??   ??  ??
t/09_usages.t            2   512     6   12  1-6
t/11_exceptions.t        2   512     8   16  1-8
t/12_1_callbacks.t       2   512    37   74  1-37
t/13_handles.t           2   512    12   24  1-12
t/14_encoding.t          2   512     9   18  1-9
t/15_native_doubles.t    2   512     2    4  1-2
t/99_end.t               2   512     1    2  1
6 tests skipped.
Failed 16/22 test scripts. 311/311 subtests failed.
Files=22, Tests=311, 29 wallclock secs ( 0.00 cusr +  0.00 csys =
0.00 CPU)
Failed 16/22 test programs. 311/311 subtests failed.
NMAKE : fatal error U1077: 'C:\WINDOWS\system32\cmd.exe' : return code
'0x2'
Stop.

C:\sylvaint\Inline-Java-0.52>


Report this thread to moderator Post Follow-up to this message
Old Post
greytrader
03-17-08 01:12 AM


Re: Cannot get Inline Java to work with JNI
On Mar 16, 2:21 pm, sylva...@comcast.net (Greytrader) wrote:
> I have been trying to get Inline Jave to work with JNI.  I am using
> Inline Java .52 with MINGW and nmake.   It seems to build fine but all
> the tests fail.  Note that all tests pass without building with JNI.
> I am generating libjvm.a from jvm.dll with: dlltool --kill-at -dllname
> jvm.dll --def jvm.def --output-lib libjvm.a
>
> Here is the build log with the tests output:
>
> set PERL_INLINE_JAVA_JNI=1
> C:\sylvaint\Inline-Java-0.52>perl Makefile.PL J2SDK=C:\jdk1.5.0_15
> Set up gcc environment - 3.4.5 (mingw special)
>
> Welcome to the Inline::Java installation procedure.
>
> Default J2SDK for Inline::Java will be 'C:\jdk1.5.0_15'.
> See module documentation for information on how to use a different
> J2SDK
> or change this default value.
>
> Checking if your kit is complete...
> Looks good
>
> Inline::Java can use a JNI extension that allows the Java Virtual
> Machine
> (JVM) to be dynamically linked with Perl instead of running as a
> separate
> process. The use of this extension is optional, and building it still
> allows Inline::Java to run the JVM in the default (separate process)
> fashion.
> Note: You need a C compiler to build the extension.
> Note: You must build the extension if you wish to use PerlNatives or
>       PerlInterpreter.
> Do you wish to build the JNI extension? [y]
>
> Building JNI extension.
>
> 1) C:\jdk1.5.0_15\jre\bin\client
> 2) C:\jdk1.5.0_15\jre\bin\server
> Please select from the above list which 'jvm.dll' to use: [1]
>
> Building with:
>   C:\jdk1.5.0_15\include\jni.h
>   C:\jdk1.5.0_15\include\win32\jni_md.h
>   C:\jdk1.5.0_15\lib\jvm.lib
>   C:\jdk1.5.0_15\jre\bin\client\jvm.dll
>
> Note: In order for Inline::Java to use the JNI extension, you will
> need to
> use the JNI configuration option or set the PERL_INLINE_JAVA_JNI
> environment
> variable to a true value. You will also need to add the following
> directories
> to your PATH environment variable:
>   C:\jdk1.5.0_15\jre\bin\client
>   C:\jdk1.5.0_15\jre\bin
> See README.JNI for more information.
>
> The PerlNatives extension allows for callbacks to be defined as native
> Java methods. It is still EXPERIMENTAL and may not build or work
> properly
> on all platforms. See documentation for more details.
> Note: PerlNatives requires J2SDK 1.4 or greater.
> Do you wish to build the PerlNatives extension? [n]
>
> The PerlInterpreter extension allows Inline::Java to be loaded
> directly from
> Java using an embedded Perl interpreter. It is still EXPERIMENTAL and
> may not build or work properly on all platforms. See documentation for
> more details.
> Do you wish to build the PerlInterpreter extension? [n]
>
> Writing Makefile for Inline::Java::JNI
> Writing Makefile for Inline::Java
>
> You can continue the installation with the following commands:
>   % nmake
>   % nmake test
>   % nmake install
>
> C:\sylvaint\Inline-Java-0.52>nmake
>
> Microsoft (R) Program Maintenance Utility   Version 1.50
> Copyright (c) Microsoft Corp 1988-94. All rights reserved.
>
>         "C:\jdk1.5.0_15\bin\javac.exe" -deprecation -g -d Java\classes
> Java\sour
> ces\org\perl\inline\java\*.java
> Note: Some input files use unchecked or unsafe operations.
> Note: Recompile with -Xlint:unchecked for details.
>         "C:\jdk1.5.0_15\bin\jar.exe" cf Java\InlineJavaServer.jar -C
> Java\classe
> s org -C Java\classes InlineJava.properties
>         "C:\jdk1.5.0_15\bin\jar.exe" cf Java\InlineJavaUser.jar -C Java
> \classes
> InlineJavaUserClassLink.class
> cp Java.pm blib\lib\Inline\Java.pm
> cp Java.pod blib\lib\Inline\Java.pod
> cp Java\InlineJavaUser.jar blib\lib\Inline\Java\InlineJavaUser.jar
> cp Java\InlineJavaServer.jar blib\lib\Inline\Java\InlineJavaServer.jar
>         nmake -f Makefile all -nologo
> cp sources\org\perl\inline\java/InlineJavaServerThread.java ..\blib\lib
> \Inline\J
>  ava\sources\org\perl\inline\java\InlineJ
avaServerThread.java
> cp default_j2sdk.pl ..\blib\lib\Inline\Java\default_j2sdk.pl
> cp sources\org\perl\inline\java/InlineJavaPerlInterpreter.java ..\blib
> \lib\Inlin
>  e\Java\sources\org\perl\inline\java\Inli
neJavaPerlInterpreter.java
> cp Protocol.pm ..\blib\lib\Inline\Java\Protocol.pm
> cp sources\org\perl\inline\java/InlineJavaCallbackQueue.java ..\blib
> \lib\Inline\
>  Java\sources\org\perl\inline\java\Inline
JavaCallbackQueue.java
> cp Class.pm ..\blib\lib\Inline\Java\Class.pm
> cp sources\org\perl\inline\java/InlineJavaThrown.java ..\blib\lib
> \Inline\Java\so
>  urces\org\perl\inline\java\InlineJavaThr
own.java
> cp sources\org\perl\inline\java/InlineJavaProtocol.java ..\blib\lib
> \Inline\Java\
>  sources\org\perl\inline\java\InlineJavaP
rotocol.java
> cp sources\org\perl\inline\java/InlineJavaPerlObject.java ..\blib\lib
> \Inline\Jav
>  a\sources\org\perl\inline\java\InlineJav
aPerlObject.java
> cp sources\org\perl\inline\java/InlineJavaUserClassLink.java ..\blib
> \lib\Inline\
>  Java\sources\org\perl\inline\java\Inline
JavaUserClassLink.java
> cp sources\org\perl\inline\java/InlineJavaException.java ..\blib\lib
> \Inline\Java
>  \sources\org\perl\inline\java\InlineJava
Exception.java
> cp sources\org\perl\inline\java/InlineJavaArray.java ..\blib\lib\Inline
> \Java\sou
>  rces\org\perl\inline\java\InlineJavaArra
y.java
> cp sources\org\perl\inline\java/
> InlineJavaInvocationTargetException.java ..\blib
>  \lib\Inline\Java\sources\org\perl\inline
\java
> \InlineJavaInvocationTargetExceptio
> n.java
> cp sources\org\perl\inline\java/InlineJavaCallback.java ..\blib\lib
> \Inline\Java\
>  sources\org\perl\inline\java\InlineJavaC
allback.java
> cp Callback.pod ..\blib\lib\Inline\Java\Callback.pod
> cp sources\org\perl\inline\java/InlineJavaClass.java ..\blib\lib\Inline
> \Java\sou
>  rces\org\perl\inline\java\InlineJavaClas
s.java
> cp sources\org\perl\inline\java/InlineJavaPerlException.java ..\blib
> \lib\Inline\
>  Java\sources\org\perl\inline\java\Inline
JavaPerlException.java
> cp JVM.pm ..\blib\lib\Inline\Java\JVM.pm
> cp sources\org\perl\inline\java/InlineJavaPerlNatives.java ..\blib\lib
> \Inline\Ja
>  va\sources\org\perl\inline\java\InlineJa
vaPerlNatives.java
> cp Server.pm ..\blib\lib\Inline\Java\Server.pm
> cp sources\org\perl\inline\java/InlineJavaUserClassLoader.java ..\blib
> \lib\Inlin
>  e\Java\sources\org\perl\inline\java\Inli
neJavaUserClassLoader.java
> cp Portable.pm ..\blib\lib\Inline\Java\Portable.pm
> cp Array.pm ..\blib\lib\Inline\Java\Array.pm
> cp sources\org\perl\inline\java/InlineJavaCastException.java ..\blib
> \lib\Inline\
>  Java\sources\org\perl\inline\java\Inline
JavaCastException.java
> cp Handle.pm ..\blib\lib\Inline\Java\Handle.pm
> cp sources\org\perl\inline\java/InlineJavaServer.java ..\blib\lib
> \Inline\Java\so
>  urces\org\perl\inline\java\InlineJavaSer
ver.java
> cp sources\org\perl\inline\java/InlineJavaPerlCaller.java ..\blib\lib
> \Inline\Jav
>  a\sources\org\perl\inline\java\InlineJav
aPerlCaller.java
> cp Callback.pm ..\blib\lib\Inline\Java\Callback.pm
> cp Object.pm ..\blib\lib\Inline\Java\Object.pm
> cp sources\org\perl\inline\java/InlineJavaUtils.java ..\blib\lib\Inline
> \Java\sou
>  rces\org\perl\inline\java\InlineJavaUtil
s.java
> cp sources\org\perl\inline\java/InlineJavaHandle.java ..\blib\lib
> \Inline\Java\so
>  urces\org\perl\inline\java\InlineJavaHan
dle.java
> cp JNI.pm ..\blib\lib\Inline\Java\JNI.pm
>         C:\Perl\bin\perl.exe C:\Perl\lib\ExtUtils\xsubpp  -typemap C:
> \Perl\lib\E
> xtUtils\typemap -typemap typemap  JNI.xs > JNI.xsc && C:\Perl\bin
> \perl.exe -MExt
> Utils::Command -e mv JNI.xsc JNI.c
>         gcc -c  "-IC:\jdk1.5.0_15\include" "-IC:\jdk1.5.0_15\include
> \win32"  -DN
> DEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED -
> DUSE_SITE
> CUSTOMIZE -DPRIVLIB_LAST_IN_INC -DPERL_IMPLICIT_CONTEXT -
> DPERL_IMPLICIT_SYS -DUS
> E_PERLIO -DPERL_MSVCRT_READFIX -DHASATTRIBUTE -fno-strict-aliasing -
> O2    -DVERS
> ION=\"0.52\"  -DXS_VERSION=\"0.52\"  "-IC:\Perl\lib\CORE"   JNI.c
> Running Mkbootstrap for Inline::Java::JNI ()
>         C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 JNI.bs
>         C:\Perl\bin\perl.exe -MExtUtils::Mksymlists  -e
> "Mksymlists('NAME'=>\"In
> line::Java::JNI\", 'DLBASE' => 'JNI', 'DL_FUNCS' => {  }, 'FUNCLIST'
> => [], 'IMP
> ORTS' => {  }, 'DL_VARS' => []);"
> Set up gcc environment - 3.4.5 (mingw special)
>         dlltool --def JNI.def --output-exp dll.exp
>         g++ -o ..\blib\arch\auto\Inline\Java\JNI\JNI.dll -Wl,--base-
> file -Wl,dll
> .base -mdll -L"C:\Perl\lib\CORE" JNI.o -Wl,--image-base,0x2e220000  C:
> \Perl\lib\
> CORE\perl58.lib C:\jdk1.5.0_15\lib\libjvm.a C:\MinGW\lib\libkernel32.a
> C:\MinGW\
> lib\libuser32.a C:\MinGW\lib\libgdi32.a C:\MinGW\lib\libwinspool.a C:
> \MinGW\lib\
> libcomdlg32.a C:\MinGW\lib\libadvapi32.a C:\MinGW\lib\libshell32.a C:
> \MinGW\lib\
> libole32.a C:\MinGW\lib\liboleaut32.a C:\MinGW\lib\libnetapi32.a C:
> \MinGW\lib\li
> buuid.a C:\MinGW\lib\libws2_32.a C:\MinGW\lib\libmpr.a C:\MinGW\lib
> \libwinmm.a C
> :\MinGW\lib\libversion.a C:\MinGW\lib\libodbc32.a C:\MinGW\lib
> \libodbccp32.a C:\
> MinGW\lib\libmsvcrt.a dll.exp
>         dlltool --def JNI.def --base-file dll.base --output-exp
> dll.exp
>         g++ -o ..\blib\arch\auto\Inline\Java\JNI\JNI.dll -mdll -L"C:
> \Perl\lib\CO
> RE" JNI.o -Wl,--image-base,0x2e220000  C:\Perl\lib\CORE\perl58.lib C:
> \jdk1.5.0_1
> 5\lib\libjvm.a C:\MinGW\lib\libkernel32.a C:\MinGW\lib\libuser32.a C:
> \MinGW\lib\
> libgdi32.a C:\MinGW\lib\libwinspool.a C:\MinGW\lib\libcomdlg32.a C:
> \MinGW\lib\li
> badvapi32.a C:\MinGW\lib\libshell32.a C:\MinGW\lib\libole32.a C:\MinGW
> \lib\libol
> eaut32.a C:\MinGW\lib\libnetapi32.a C:\MinGW\lib\libuuid.a C:\MinGW\lib
> \libws2_3
> 2.a C:\MinGW\lib\libmpr.a C:\MinGW\lib\libwinmm.a C:\MinGW\lib
> \libversion.a C:\M
> inGW\lib\libodbc32.a C:\MinGW\lib\libodbccp32.a C:\MinGW\lib
> \libmsvcrt.a dll.exp
>
>         C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 755 ..\blib
> \arch\auto\
> Inline\Java\JNI\JNI.dll
>         C:\Perl\bin\perl.exe -MExtUtils::Command -e cp JNI.bs ..\blib
> \arch\auto\
> Inline\Java\JNI\JNI.bs
>         C:\Perl\bin\perl.exe -MExtUtils::Command -e chmod 644 ..\blib
> \arch\auto\
> Inline\Java\JNI\JNI.bs
>         cd ..
>
> C:\sylvaint\Inline-Java-0.52>nmake test
>
> Microsoft (R) Program Maintenance Utility   Version 1.50
> Copyright (c) Microsoft Corp 1988-94. All rights reserved.
>
>         nmake -f Makefile all -nologo
>         cd ..
>         C:\Perl\bin\perl.exe "-MExtUtils::Command::MM" "-e"
> "test_harness(0, 'bl
> ib\lib', 'blib\arch')" t/*.t
> t/01_init..............Set up gcc environment - 3.4.5 (mingw special)
> Set up gcc environment - 3.4.5 (mingw special)
> Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
> \lib/Inline/
> Java/JVM.pm line 54.
> INIT failed--call queue aborted.
> t/01_init..............dubious
>         Test returned status 2 (wstat 512, 0x200)
> DIED. FAILED test 1
>         Failed 1/1 tests, 0.00% okay
> t/02_primitives........Set up gcc environment - 3.4.5 (mingw special)
> Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
> \lib/Inline/
> Java/JVM.pm line 54.
> INIT failed--call queue aborted.
> t/02_primitives........dubious
>         Test returned status 2 (wstat 512, 0x200)
> DIED. FAILED tests 1-102
>         Failed 102/102 tests, 0.00% okay
> t/02_primitives_1_4....Set up gcc environment - 3.4.5 (mingw special)
> Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
> \lib/Inline/
> Java/JVM.pm line 54.
> BEGIN failed--compilation aborted at t/02_primitives_1_4.t line 24.
> t/02_primitives_1_4....dubious
>         Test returned status 2 (wstat 512, 0x200)
> t/03_objects...........Set up gcc environment - 3.4.5 (mingw special)
>
> Note: inner_obj13.java uses unchecked or unsafe operations.
> Note: Recompile with -Xlint:unchecked for details.
>
> Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
> \lib/Inline/
> Java/JVM.pm line 54.
> INIT failed--call queue aborted.
> t/03_objects...........dubious
>         Test returned status 2 (wstat 512, 0x200)
> DIED. FAILED tests 1-16
>         Failed 16/16 tests, 0.00% okay
> t/04_members...........Set up gcc environment - 3.4.5 (mingw special)
>
> Note: _04_members_t_17c5.java uses unchecked or unsafe operations.
> Note: Recompile with -Xlint:unchecked for details.
>
> Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
> \lib/Inline/
> Java/JVM.pm line 54.
> INIT failed--call queue aborted.
> t/04_members...........dubious
>         Test returned status 2 (wstat 512, 0x200)
> DIED. FAILED tests 1-28
>         Failed 28/28 tests, 0.00% okay
> t/05_arrays............Set up gcc environment - 3.4.5 (mingw special)
> Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
> \lib/Inline/
> Java/JVM.pm line 54.
> INIT failed--call queue aborted.
> t/05_arrays............dubious
>         Test returned status 2 (wstat 512, 0x200)
> DIED. FAILED tests 1-55
>         Failed 55/55 tests, 0.00% okay
> t/06_static............Set up gcc environment - 3.4.5 (mingw special)
>
> Note: types6.java uses unchecked or unsafe operations.
> Note: Recompile with -Xlint:unchecked for details.
>
> Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
> \lib/Inline/
> Java/JVM.pm line 54.
> INIT failed--call queue aborted.
> t/06_static............dubious
>         Test returned status 2 (wstat 512, 0x200)
> DIED. FAILED tests 1-10
>         Failed 10/10 tests, 0.00% okay
> t/07_polymorph.........Set up gcc environment - 3.4.5 (mingw special)
> Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
> \lib/Inline/
> Java/JVM.pm line 54.
> INIT failed--call queue aborted.
> t/07_polymorph.........dubious
>         Test returned status 2 (wstat 512, 0x200)
> DIED. FAILED tests 1-24
>         Failed 24/24 tests, 0.00% okay
> t/08_study.............Set up gcc environment - 3.4.5 (mingw special)
> Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
> \lib/Inline/
> Java/JVM.pm line 54.
> BEGIN failed--compilation aborted at t/08_study.t line 20.
> t/08_study.............dubious
>         Test returned status 2 (wstat 512, 0x200)
> t/09_usages............Set up gcc environment - 3.4.5 (mingw special)
> Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
> \lib/Inline/
> Java/JVM.pm line 54.
> BEGIN failed--compilation aborted at t/09_usages.t line 31.
> t/09_usages............dubious
>         Test returned status 2 (wstat 512, 0x200)
> DIED. FAILED tests 1-6
>         Failed 6/6 tests, 0.00% okay
> t/10_1_shared_alone....skipped
>         all skipped: no reason given
> t/10_2_shared_start....Set up gcc environment - 3.4.5 (mingw special)
> skipped
>         all skipped: no reason given
> t/10_3_shared_use......Set up gcc environment - 3.4.5 (mingw special)
> skipped
>         all skipped: no reason given
> t/10_4_shared_stop.....Set up gcc environment - 3.4.5 (mingw special)
> skipped
>         all skipped: no reason given
> t/10_5_shared_fork.....Set up gcc environment - 3.4.5 (mingw special)
> skipped
>         all skipped: no reason given
> t/10_6_shared_sim......skipped
>         all skipped: no reason given
> t/11_exceptions........Set up gcc environment - 3.4.5 (mingw special)
> Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
> \lib/Inline/
> Java/JVM.pm line 54.
> INIT failed--call queue aborted.
> t/11_exceptions........dubious
>         Test returned status 2 (wstat 512, 0x200)
> DIED. FAILED tests 1-8
>         Failed 8/8 tests, 0.00% okay
> t/12_1_callbacks.......Set up gcc environment - 3.4.5 (mingw special)
> Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
> \lib/Inline/
> Java/JVM.pm line 54.
> INIT failed--call queue aborted.
> t/12_1_callbacks.......dubious
>         Test returned status 2 (wstat 512, 0x200)
> DIED. FAILED tests 1-37
>         Failed 37/37 tests, 0.00% okay
> t/13_handles...........Set up gcc environment - 3.4.5 (mingw special)
> Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
> \lib/Inline/
> Java/JVM.pm line 54.
> INIT failed--call queue aborted.
> t/13_handles...........dubious
>         Test returned status 2 (wstat 512, 0x200)
> DIED. FAILED tests 1-12
>         Failed 12/12 tests, 0.00% okay
> t/14_encoding..........Set up gcc environment - 3.4.5 (mingw special)
> Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
> \lib/Inline/
> Java/JVM.pm line 54.
> INIT failed--call queue aborted.
> t/14_encoding..........dubious
>         Test returned status 2 (wstat 512, 0x200)
> DIED. FAILED tests 1-9
>         Failed 9/9 tests, 0.00% okay
> t/15_native_doubles....Set up gcc environment - 3.4.5 (mingw special)
> Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
> \lib/Inline/
> Java/JVM.pm line 54.
> INIT failed--call queue aborted.
> t/15_native_doubles....dubious
>         Test returned status 2 (wstat 512, 0x200)
> DIED. FAILED tests 1-2
>         Failed 2/2 tests, 0.00% okay
> t/99_end...............Set up gcc environment - 3.4.5 (mingw special)
> Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
> \lib/Inline/
> Java/JVM.pm line 54.
> BEGIN failed--compilation aborted at t/99_end.t line 15.
> t/99_end...............dubious
>         Test returned status 2 (wstat 512, 0x200)
> DIED. FAILED test 1
>         Failed 1/1 tests, 0.00% okay
> Failed Test           Stat Wstat Total Fail  List of Failed
> --------------------------------------------------------------------------
-----
> t/01_init.t              2   512     1    2  1
> t/02_primitives.t        2   512   102  204  1-102
> t/02_primitives_1_4.t    2   512    ??   ??  ??
> t/03_objects.t           2   512    16   32  1-16
> t/04_members.t           2   512    28   56  1-28
> t/05_arrays.t            2   512    55  110  1-55
> t/06_static.t            2   512    10   20  1-10
> t/07_polymorph.t         2   512    24   48  1-24
> t/08_study.t             2   512    ??   ??  ??
> t/09_usages.t            2   512     6   12  1-6
> t/11_exceptions.t        2   512     8   16  1-8
> t/12_1_callbacks.t       2   512    37   74  1-37
> t/13_handles.t           2   512    12   24  1-12
> t/14_encoding.t          2   512     9   18  1-9
> t/15_native_doubles.t    2   512     2    4  1-2
> t/99_end.t               2   512     1    2  1
> 6 tests skipped.
> Failed 16/22 test scripts. 311/311 subtests failed.
> Files=22, Tests=311, 29 wallclock secs ( 0.00 cusr +  0.00 csys =
> 0.00 CPU)
> Failed 16/22 test programs. 311/311 subtests failed.
> NMAKE : fatal error U1077: 'C:\WINDOWS\system32\cmd.exe' : return code
> '0x2'
> Stop.
>
> C:\sylvaint\Inline-Java-0.52>

This is on Windows XP...


Report this thread to moderator Post Follow-up to this message
Old Post
greytrader
03-17-08 01:12 AM


Re: Cannot get Inline Java to work with JNI
On Mar 16, 2:45 pm, sylva...@comcast.net (Greytrader) wrote:
> On Mar 16, 2:21 pm, sylva...@comcast.net (Greytrader) wrote:
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
 
> 
>
> ...
>
> read more =BB

Here is the output of the first test with DEBUG =3D 5

C:\sylvaint\Inline-Java-0.52>perl -Mblib t/01_init.t
1..1
# Running under perl version 5.008008 for MSWin32
# Win32::BuildNumber 822
# Current time local: Wed Mar 19 13:35:52 2008
# Current time GMT:   Wed Mar 19 19:35:52 2008
# Using Test.pm version 1.25
Set up gcc environment - 3.4.5 (mingw special)
[perl][1] validate done.
[perl][1] Starting load.
[perl][4]    portable: ENV_VAR_PATH_SEP_CP for MSWin32 is ';'
[perl][4]    portable: SUB_FIX_JAVA_PATH =3D> C:\sylvaint\Inline-
Java-0.52 for MSW
in32 is default 'C:\sylvaint\Inline-Java-0.52'
[perl][2]  classpath candidate 'C:\jre1.5.0_15\lib\ext\QTJava.zip'
scraped
[perl][4]    portable: SUB_FIX_JAVA_PATH =3D> C:\Jts\Java for MSWin32 is
default '
C:\Jts\Java'
[perl][4]    portable: SUB_FIX_JAVA_PATH =3D> C:\sylvaint\Inline-
Java-0.52\blib\li
b\Inline\Java\InlineJavaServer.jar for MSWin32 is default 'C:\sylvaint
\Inline-Ja
va-0. 52\blib\lib\Inline\Java\InlineJavaServer
.jar'
[perl][2]  classpath: C:\sylvaint\Inline-Java-0.52;C:\Jts\Java;C:
\sylvaint\Inlin
e-Java-0. 52\blib\lib\Inline\Java\InlineJavaServer
.jar
[perl][1] starting JVM...
[perl][1] JNI mode
[perl][1] JVM owner exiting...
Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
\lib/Inline/
Java/JVM.pm line 54.
INIT failed--call queue aborted.
[perl][1] killed by natural death.
[perl][1] exiting with 2


Report this thread to moderator Post Follow-up to this message
Old Post
greytrader
03-20-08 12:42 AM


Re: Cannot get Inline Java to work with JNI
----- Original Message -----
From: "greytrader" <sylvaint@comcast.net>
.
.
>
> Here is the output of the first test with DEBUG = 5
>
> C:\sylvaint\Inline-Java-0.52>perl -Mblib t/01_init.t
> 1..1
.
.
> Can't create Java JVM using JNI at C:\sylvaint\Inline-Java-0.52\blib
> \lib/Inline/
> Java/JVM.pm line 54.
> INIT failed--call queue aborted.
> [perl][1] killed by natural death.
> [perl][1] exiting with 2
>
>

When I built 0.51 with JNI, all of the tests ran fine (iirc) - and
t/01_init.t hasn't changed from 0.51 to 0.52 afaict.

I'm no longer set up to play this stuff but I wonder if 0.51 (with JNI)
builds ok for you ? If so, that might help track down the problem.

Does the code at line 54 (and thereabouts) of JVM.pm provide any useful
hints ?

Cheers,
Rob


Report this thread to moderator Post Follow-up to this message
Old Post
Sisyphus
03-20-08 03:38 AM


Re: Cannot get Inline Java to work with JNI
On Mar 19, 7:39 pm, sisyph...@optusnet.com.au (Sisyphus) wrote:
> ----- Original Message -----
> From: "greytrader" <sylva...@comcast.net>
>
> .
> .
> 
> 
> .
> . 
>
> When I built 0.51 with JNI, all of the tests ran fine (iirc) - and
> t/01_init.t hasn't changed from 0.51 to 0.52 afaict.
>
> I'm no longer set up to play this stuff but I wonder if 0.51 (with JNI)
> builds ok for you ? If so, that might help track down the problem.
>
> Does the code at line 54 (and thereabouts) of JVM.pm provide any useful
> hints ?
>
> Cheers,
> Rob

Same result with 0.51.  I had to use nmake, dmake did not work for
target
java.

Line 54 is:

Inline::Java::JVM::new(C:/Perl/site/lib/Inline/Java/JVM.pm:54):
54:                     my $jni = new Inline::Java::JNI(
55:                             $ENV{CLASSPATH} || '',
56:                             \@args,
57:                             $this->{embedded},
58:                             Inline::Java::get_DEBUG(),
59:                             $o->get_java_config('NATIVE_DOUBLES'),
60:                     ) ;

DB<2>
Here are the values for the args:
DB<2> p $ENV{CLASSPATH}
C:\sylvaint\Inline-Java-0. 52\t;C:\Jts\Java;C:\Perl\site\lib\Inline
\Java
\InlineJavaServer.jar

DB<3> p @args


DB<4> p $this->{embedded}
0

DB<5> p Inline::Java::get_DEBUG()
5

DB<6> x $o
0  Inline::Java=HASH(0x1c5d8bc)
'API' => HASH(0x1c5d820)
'build_dir' =>
'C:\\sylvaint\\Inline-Java-0.52\\t\\_Inline_test\\build\\_0
1_init_t_b433'
'cleanup' => 1
'code' => "\cJclass types1 {\cJ\cIstatic public String
version(){\cJ\cI\cI
return System.getProperty(\"java.version\") ;\cJ\cI}\cJ}\cJ\cJ\cJ\cJ"
'directory' => 'C:/sylvaint/Inline-Java-0.52/t/_Inline_test'
'install_lib' =>
'C:\\sylvaint\\Inline-Java-0.52\\t\\_Inline_test\\lib'
'language' => 'Java'
'language_id' => 'Java'
'location' =>
'C:\\sylvaint\\Inline-Java-0.52\\t\\_Inline_test\\lib\\auto\
\_01_init_t_b433\\_01_init_t_b433.jdat'
'modfname' => '_01_init_t_b433'
'modpname' => '_01_init_t_b433'
'module' => '_01_init_t_b433'
'pkg' => 'main'
'script' => '01_init.t'
'suffix' => 'jdat'
'CONFIG' => HASH(0x1ebaea4)
'AUTONAME' => 1
'BUILD_NOISY' => 0
'BUILD_TIMERS' => 0
'CLEAN_AFTER_BUILD' => 1
'CLEAN_BUILD_AREA' => 0
'DEBUG' => 5
'DIRECTORY' => 'C:/sylvaint/Inline-Java-0.52/t/_Inline_test'
'FORCE_BUILD' => 0
'GLOBAL_LOAD' => 0
'NAME' => ''
'PORT' => 0
'PRINT_INFO' => 0
'PRINT_VERSION' => 0
'REPORTBUG' => 0
'SAFEMODE' => '-1'
'UNTAINT' => 0
'USING' => ARRAY(0x1c578c4)
empty array
'VERSION' => ''
'WARNINGS' => 1
'WITH' => ARRAY(0x1be4824)
empty array
'_INSTALL_' => 0
'ILSM' => HASH(0x1e76568)
'AUTOSTUDY' => 0
'BIND' => 'localhost'
'CLASSPATH' => ''
'DEBUG' => 5
'DEBUGGER' => 0
'EMBEDDED_JNI' => 0
'EXTRA_JAVAC_ARGS' => ''
'EXTRA_JAVA_ARGS' => ''
'HOST' => 'localhost'
'J2SDK' => 'C:\\jdk1.5.0_15'
'JNI' => 1
'NATIVE_DOUBLES' => 0
'PACKAGE' => ''
'PORT' => 0
'PRIVATE' => 0
'SHARED_JVM' => 0
'STARTUP_DELAY' => 15
'START_JVM' => 1
'STUDY' => undef
'WARN_METHOD_SELECT' => 0
'INLINE' => HASH(0x1c5d8a4)
'DIRECTORY' => 'C:/sylvaint/Inline-Java-0.52/t/_Inline_test'
'ILSM_module' => 'Inline::Java'
'ILSM_suffix' => 'jdat'
'ILSM_type' => 'interpreted'
'md5' => 'b4330c82d320dac39376cbd6f1527138'
'object_ready' => 1
'version' => 0.44

DB<7>

I have stepped through the code a few times but I have yet to figure
out
what is wrong.

Thanks,

Sylvain


Report this thread to moderator Post Follow-up to this message
Old Post
greytrader
03-20-08 03:38 AM


Re: Cannot get Inline Java to work with JNI
On Mar 19, 8:56 pm, sylva...@comcast.net (Greytrader) wrote:
> On Mar 19, 7:39 pm, sisyph...@optusnet.com.au (Sisyphus) wrote:
>
>
> 
> 
> 
> 
> 
> 
> 
> 
>
> Same result with 0.51.  I had to use nmake, dmake did not work for
> target
> java.
>
> Line 54 is:
>
> Inline::Java::JVM::new(C:/Perl/site/lib/Inline/Java/JVM.pm:54):
> 54:                     my $jni = new Inline::Java::JNI(
> 55:                             $ENV{CLASSPATH} || '',
> 56:                             \@args,
> 57:                             $this->{embedded},
> 58:                             Inline::Java::get_DEBUG(),
> 59:                             $o->get_java_config('NATIVE_DOUBLES'),
> 60:                     ) ;
>
>   DB<2>
> Here are the values for the args:
>   DB<2> p $ENV{CLASSPATH}
> C:\sylvaint\Inline-Java-0. 52\t;C:\Jts\Java;C:\Perl\site\lib\Inline
\Java
> \InlineJavaServer.jar
>
>   DB<3> p @args
>
>   DB<4> p $this->{embedded}
> 0
>
>   DB<5> p Inline::Java::get_DEBUG()
> 5
>
>   DB<6> x $o
> 0  Inline::Java=HASH(0x1c5d8bc)
>    'API' => HASH(0x1c5d820)
>       'build_dir' =>
> 'C:\\sylvaint\\Inline-Java-0.52\\t\\_Inline_test\\build\\_0
> 1_init_t_b433'
>       'cleanup' => 1
>       'code' => "\cJclass types1 {\cJ\cIstatic public String
> version(){\cJ\cI\cI
> return System.getProperty(\"java.version\") ;\cJ\cI}\cJ}\cJ\cJ\cJ\cJ"
>       'directory' => 'C:/sylvaint/Inline-Java-0.52/t/_Inline_test'
>       'install_lib' =>
> 'C:\\sylvaint\\Inline-Java-0.52\\t\\_Inline_test\\lib'
>       'language' => 'Java'
>       'language_id' => 'Java'
>       'location' =>
> 'C:\\sylvaint\\Inline-Java-0.52\\t\\_Inline_test\\lib\\auto\
> \_01_init_t_b433\\_01_init_t_b433.jdat'
>       'modfname' => '_01_init_t_b433'
>       'modpname' => '_01_init_t_b433'
>       'module' => '_01_init_t_b433'
>       'pkg' => 'main'
>       'script' => '01_init.t'
>       'suffix' => 'jdat'
>    'CONFIG' => HASH(0x1ebaea4)
>       'AUTONAME' => 1
>       'BUILD_NOISY' => 0
>       'BUILD_TIMERS' => 0
>       'CLEAN_AFTER_BUILD' => 1
>       'CLEAN_BUILD_AREA' => 0
>       'DEBUG' => 5
>       'DIRECTORY' => 'C:/sylvaint/Inline-Java-0.52/t/_Inline_test'
>       'FORCE_BUILD' => 0
>       'GLOBAL_LOAD' => 0
>       'NAME' => ''
>       'PORT' => 0
>       'PRINT_INFO' => 0
>       'PRINT_VERSION' => 0
>       'REPORTBUG' => 0
>       'SAFEMODE' => '-1'
>       'UNTAINT' => 0
>       'USING' => ARRAY(0x1c578c4)
>            empty array
>       'VERSION' => ''
>       'WARNINGS' => 1
>       'WITH' => ARRAY(0x1be4824)
>            empty array
>       '_INSTALL_' => 0
>    'ILSM' => HASH(0x1e76568)
>       'AUTOSTUDY' => 0
>       'BIND' => 'localhost'
>       'CLASSPATH' => ''
>       'DEBUG' => 5
>       'DEBUGGER' => 0
>       'EMBEDDED_JNI' => 0
>       'EXTRA_JAVAC_ARGS' => ''
>       'EXTRA_JAVA_ARGS' => ''
>       'HOST' => 'localhost'
>       'J2SDK' => 'C:\\jdk1.5.0_15'
>       'JNI' => 1
>       'NATIVE_DOUBLES' => 0
>       'PACKAGE' => ''
>       'PORT' => 0
>       'PRIVATE' => 0
>       'SHARED_JVM' => 0
>       'STARTUP_DELAY' => 15
>       'START_JVM' => 1
>       'STUDY' => undef
>       'WARN_METHOD_SELECT' => 0
>    'INLINE' => HASH(0x1c5d8a4)
>       'DIRECTORY' => 'C:/sylvaint/Inline-Java-0.52/t/_Inline_test'
>       'ILSM_module' => 'Inline::Java'
>       'ILSM_suffix' => 'jdat'
>       'ILSM_type' => 'interpreted'
>       'md5' => 'b4330c82d320dac39376cbd6f1527138'
>       'object_ready' => 1
>       'version' => 0.44
>
>   DB<7>
>
> I have stepped through the code a few times but I have yet to figure
> out
> what is wrong.
>
> Thanks,
>
> Sylvain

Finally figured out what was wrong, I had an older jvm.dll that got a
hit in the path before the correct one.  Removed the old one and all
is well.

Here is the final procedure to install inline-java .52 on windows XP
with dmake and MGW.  Works with nmake too.

***You need to link with jdkxx/lib/jvm.lib. For g++ to work just copy
jvm.lib to libjvm.a. This should be the only extra step for this
Windows installation.
Add the required paths as per the perl Makefile.PL output.

set PERL_INLINE_JAVA_JNI=1
perl Makefile.PL J2SDK=c:\jdk1.5.0_15     >>>>> your jdk install path
dmake
dmake test
dmake install


Report this thread to moderator Post Follow-up to this message
Old Post
greytrader
03-21-08 10:02 AM


Sponsored Links




Last Thread Next Thread Next
Search this forum -> 
Post New Thread

PERL INLINE module archive

Show a Printable Version Send to friend Email This Page to Someone! subscribe to this thread Receive updates to this thread
Computer Consultants
Programming Jobs
Visual Basic Controls
SQL Server Programming
Webservices
Java Security
Visual Studio
C# Programming
Visual J++
Software engineering
Open source Software
Perl Programming
PHP Programming
ASP Programming
ASP .NET Programming
Visual Basic Programming
Windows Scripting Host
Java Programming
Java Help
Java Beans
VBScript
Cobol
MAC Applications
Unix Programming
Forum Jump:
All times are GMT. The time now is 12:41 AM.

 
Free MCSE Braindumps | Real Estate Topics

Programming forum archive

Copyrights CodeComments.com 2004 - 2006

Powered by vBulletin Copyright 2000-2006 Jelsoft Enterprises Limited.