On Mar 19, 8:56 pm, [EMAIL PROTECTED] (Greytrader) wrote:
> On Mar 19, 7:39 pm, [EMAIL PROTECTED] (Sisyphus) wrote:
>
>
>
> > ----- Original Message -----
> > From: "greytrader" <[EMAIL PROTECTED]>
>
> > .
> > .
>
> > > 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
>
> 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:                             [EMAIL PROTECTED],
> 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

Reply via email to