On Mar 16, 2:21 pm, [EMAIL PROTECTED] (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\InlineJavaServerThread.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\InlineJavaPerlInterpreter.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\InlineJavaCallbackQueue.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\InlineJavaThrown.java
> cp sources\org\perl\inline\java/InlineJavaProtocol.java ..\blib\lib
> \Inline\Java\
> sources\org\perl\inline\java\InlineJavaProtocol.java
> cp sources\org\perl\inline\java/InlineJavaPerlObject.java ..\blib\lib
> \Inline\Jav
> a\sources\org\perl\inline\java\InlineJavaPerlObject.java
> cp sources\org\perl\inline\java/InlineJavaUserClassLink.java ..\blib
> \lib\Inline\
> Java\sources\org\perl\inline\java\InlineJavaUserClassLink.java
> cp sources\org\perl\inline\java/InlineJavaException.java ..\blib\lib
> \Inline\Java
> \sources\org\perl\inline\java\InlineJavaException.java
> cp sources\org\perl\inline\java/InlineJavaArray.java ..\blib\lib\Inline
> \Java\sou
> rces\org\perl\inline\java\InlineJavaArray.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\InlineJavaCallback.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\InlineJavaClass.java
> cp sources\org\perl\inline\java/InlineJavaPerlException.java ..\blib
> \lib\Inline\
> Java\sources\org\perl\inline\java\InlineJavaPerlException.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\InlineJavaPerlNatives.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\InlineJavaUserClassLoader.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\InlineJavaCastException.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\InlineJavaServer.java
> cp sources\org\perl\inline\java/InlineJavaPerlCaller.java ..\blib\lib
> \Inline\Jav
> a\sources\org\perl\inline\java\InlineJavaPerlCaller.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\InlineJavaUtils.java
> cp sources\org\perl\inline\java/InlineJavaHandle.java ..\blib\lib
> \Inline\Java\so
> urces\org\perl\inline\java\InlineJavaHandle.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...

Reply via email to