Hi. I've jumped into the deep end here as I'm fairly new to OSX and very
new to both Java and trying to develop on OSX.

Using:

  perl Makefile.PL 
J2SDK=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home

and selecting no for options like JNI gives me

Failed Test           Stat Wstat Total Fail  Failed  List of Failed
-------------------------------------------------------------------------------
t/10_1_shared_alone.t    4  1024     4    8 200.00%  1-4
t/10_2_shared_start.t    4  1024     3    6 200.00%  1-3
t/10_3_shared_use.t    255 65280     3    6 200.00%  1-3
t/10_4_shared_stop.t    22  5632     4    8 200.00%  1-4
t/10_5_shared_fork.t                 8    1  12.50%  6
t/10_6_shared_sim.t     22  5632     7   14 200.00%  1-7
Failed 6/18 test scripts, 66.67% okay. 22/314 subtests failed, 92.99% okay.

With errors looking like:

t/10_1_shared_alone....Can't exec JVM: open3: open(GLOB(0x180a320), >&=9) 
failed: Bad file descriptor at 
/Users/timbo/.cpan/sources/authors/id/P/PA/PATL/Inline-Java-0.50/blib/lib/Inline/Java/JVM.pm
 line 175
 at 
/Users/timbo/.cpan/sources/authors/id/P/PA/PATL/Inline-Java-0.50/blib/lib/Inline/Java.pm
 line 480
BEGIN failed--compilation aborted at t/10_1_shared_alone.t line 23.
JVM taking more than 15 seconds to start, or died before Perl could connect. 
Increase config STARTUP_DELAY if necessary. at 
/Users/timbo/.cpan/sources/authors/id/P/PA/PATL/Inline-Java-0.50/blib/lib/Inline/Java.pm
 line 480

So I export PERL_INLINE_JAVA_STARTUP_DELAY=50 and now the errors look like:

t/10_2_shared_start....Can't locate object method "new" via package "t10::t10" 
(perhaps you forgot to load "t10::t10"?) at t/10_2_shared_start.t line 36, 
<GEN9> line 3.

A bit of googling turned up 
http://www.mail-archive.com/inline@perl.org/msg02739.html
in which Ken Williams is having similar, but not identical, problems.
I've appended the build and test logs etc.


I don't know if it's relevant but I did once see t/10_1_shared_alone.t fail:
t/10_1_shared_alone....Can't locate object method "new" via package "t10" 
(perhaps you forgot to load "t10"?) at t/10_1_shared_alone.t line 26, <GEN0> 
line 3.
t/10_1_shared_alone....dubious                                               
        Test returned status 255 (wstat 65280, 0xff00)

In an effort to reproduce that I ran
        $ PERL_INLINE_JAVA_DEBUG=99 perl -Mblib t/10_1_shared_alone.t
twice. The first worked fine, the second failed with
        Can't exec JVM: open3: open(GLOB(0x180a29c), >&=8) failed: Bad file 
descriptor at 
/Users/timbo/.cpan/sources/authors/id/P/PA/PATL/Inline-Java-0.50/blib/lib/Inline/Java/JVM.pm
 line 175 at 
/Users/timbo/.cpan/sources/authors/id/P/PA/PATL/Inline-Java-0.50/blib/lib/Inline/Java.pm
 line 480
then hung till the timeout. Repeated attempts would sometimes work,
sometimes not. Is this expected behaviour?

Let me know if I can help any.

Tim.



$ perl Makefile.PL 
J2SDK=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home

Welcome to the Inline::Java installation procedure.

Default J2SDK for Inline::Java will be 
'/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home'.
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] n

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

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

$ make java
"/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/bin/javac"
 -deprecation -g -d Java/classes Java/sources/org/perl/inline/java/*.java
"/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/bin/jar" 
cf Java/InlineJavaServer.jar -C Java/classes org -C Java/classes 
InlineJava.properties
"/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home/bin/jar" 
cf Java/InlineJavaUser.jar -C Java/classes InlineJavaUserClassLink.class

$ make
cp Java.pm blib/lib/Inline/Java.pm
cp Java/InlineJavaUser.jar blib/lib/Inline/Java/InlineJavaUser.jar
cp Java.pod blib/lib/Inline/Java.pod
cp Java/InlineJavaServer.jar blib/lib/Inline/Java/InlineJavaServer.jar
/Users/timbo/.cpan/sources/authors/id/P/PA/PATL/Inline-Java-0.50/Java
cp default_j2sdk.pl ../blib/lib/Inline/Java/default_j2sdk.pl
cp sources/org/perl/inline/java/InlineJavaPerlException.java 
../blib/lib/Inline/Java/sources/org/perl/inline/java/InlineJavaPerlException.java
cp Protocol.pm ../blib/lib/Inline/Java/Protocol.pm
cp sources/org/perl/inline/java/InlineJavaClass.java 
../blib/lib/Inline/Java/sources/org/perl/inline/java/InlineJavaClass.java
cp sources/org/perl/inline/java/InlineJavaPerlObject.java 
../blib/lib/Inline/Java/sources/org/perl/inline/java/InlineJavaPerlObject.java
cp Class.pm ../blib/lib/Inline/Java/Class.pm
cp sources/org/perl/inline/java/InlineJavaArray.java 
../blib/lib/Inline/Java/sources/org/perl/inline/java/InlineJavaArray.java
cp Server.pm ../blib/lib/Inline/Java/Server.pm
cp Portable.pm ../blib/lib/Inline/Java/Portable.pm
cp sources/org/perl/inline/java/InlineJavaCastException.java 
../blib/lib/Inline/Java/sources/org/perl/inline/java/InlineJavaCastException.java
cp Array.pm ../blib/lib/Inline/Java/Array.pm
cp sources/org/perl/inline/java/InlineJavaInvocationTargetException.java 
../blib/lib/Inline/Java/sources/org/perl/inline/java/InlineJavaInvocationTargetException.java
cp sources/org/perl/inline/java/InlineJavaCallbackQueue.java 
../blib/lib/Inline/Java/sources/org/perl/inline/java/InlineJavaCallbackQueue.java
cp sources/org/perl/inline/java/InlineJavaPerlInterpreter.java 
../blib/lib/Inline/Java/sources/org/perl/inline/java/InlineJavaPerlInterpreter.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/InlineJavaUserClassLoader.java 
../blib/lib/Inline/Java/sources/org/perl/inline/java/InlineJavaUserClassLoader.java
cp sources/org/perl/inline/java/InlineJavaServerThread.java 
../blib/lib/Inline/Java/sources/org/perl/inline/java/InlineJavaServerThread.java
cp sources/org/perl/inline/java/InlineJavaThrown.java 
../blib/lib/Inline/Java/sources/org/perl/inline/java/InlineJavaThrown.java
cp sources/org/perl/inline/java/InlineJavaServer.java 
../blib/lib/Inline/Java/sources/org/perl/inline/java/InlineJavaServer.java
cp Callback.pod ../blib/lib/Inline/Java/Callback.pod
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/InlineJavaCallback.java 
../blib/lib/Inline/Java/sources/org/perl/inline/java/InlineJavaCallback.java
cp JVM.pm ../blib/lib/Inline/Java/JVM.pm
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/InlineJavaPerlNatives.java 
../blib/lib/Inline/Java/sources/org/perl/inline/java/InlineJavaPerlNatives.java
cp sources/org/perl/inline/java/InlineJavaUtils.java 
../blib/lib/Inline/Java/sources/org/perl/inline/java/InlineJavaUtils.java
cp sources/org/perl/inline/java/InlineJavaPerlCaller.java 
../blib/lib/Inline/Java/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 JNI.pm ../blib/lib/Inline/Java/JNI.pm
Manifying ../blib/man3/Inline::Java::Callback.3
Manifying blib/man3/Inline::Java.3

$ make test
/Users/timbo/.cpan/sources/authors/id/P/PA/PATL/Inline-Java-0.50/Java
PERL_DL_NONLAZY=1 /home/value/apps/perl "-MExtUtils::Command::MM" "-e" 
"test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/01_init..............
Perl version is 5.008006
Inline version is 0.44
Inline::Java version is 0.50
J2SDK version is 1.4.2_07, from 
/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
CLASSPATH is 
/Users/timbo/dbi/dbi2/mysql/mysql-connector-java/mysql-connector-java-3.1.10-bin.jar:
t/01_init..............ok                                                    
t/02_primitives........ok                                                    
t/03_objects...........ok                                                    
t/04_members...........ok                                                    
t/05_arrays............ok                                                    
t/06_static............ok                                                    
t/07_polymorph.........ok                                                    
t/08_study.............ok                                                    
t/09_usages............ok                                                    
t/10_1_shared_alone....ok                                                    
t/10_2_shared_start....Can't locate object method "new" via package "t10::t10" 
(perhaps you forgot to load "t10::t10"?) at t/10_2_shared_start.t line 36, 
<GEN9> line 3.
t/10_2_shared_start....dubious                                               
        Test returned status 22 (wstat 5632, 0x1600)
DIED. FAILED tests 1-3
        Failed 3/3 tests, 0.00% okay
t/10_3_shared_use......Can't locate object method "new" via package "t10::t10" 
(perhaps you forgot to load "t10::t10"?) at t/10_3_shared_use.t line 35, <GEN0> 
line 3.
t/10_3_shared_use......dubious                                               
        Test returned status 255 (wstat 65280, 0xff00)
DIED. FAILED tests 1-3
        Failed 3/3 tests, 0.00% okay
t/10_4_shared_stop.....Can't locate object method "new" via package "t10::t10" 
(perhaps you forgot to load "t10::t10"?) at t/10_4_shared_stop.t line 34, 
<GEN0> line 3.
t/10_4_shared_stop.....dubious                                               
        Test returned status 255 (wstat 65280, 0xff00)
DIED. FAILED tests 1-4
        Failed 4/4 tests, 0.00% okay
t/10_5_shared_fork.....Can't locate object method "new" via package "t10::t10" 
at t/10_5_shared_fork.t line 67.
Can't locate object method "new" via package "t10::t10" at t/10_5_shared_fork.t 
line 67.
Can't locate object method "new" via package "t10::t10" at t/10_5_shared_fork.t 
line 67.
Can't locate object method "new" via package "t10::t10" at t/10_5_shared_fork.t 
line 67.
Can't locate object method "new" via package "t10::t10" at t/10_5_shared_fork.t 
line 67.
t/10_5_shared_fork.....ok 4/8# Test 6 got: "0" (t/10_5_shared_fork.t at line 54)
#   Expected: "15"
#  t/10_5_shared_fork.t line 54 is: ok($t10::t10::i, $sum) ;
t/10_5_shared_fork.....FAILED test 6                                         
        Failed 1/8 tests, 87.50% okay
t/10_6_shared_sim......Can't locate object method "new" via package "t10::t10" 
(perhaps you forgot to load "t10::t10"?) at t/10_6_shared_sim.t line 32, <GEN9> 
line 3.
t/10_6_shared_sim......dubious                                               
        Test returned status 22 (wstat 5632, 0x1600)
DIED. FAILED tests 1-7
        Failed 7/7 tests, 0.00% okay
t/11_exceptions........ok                                                    
t/12_1_callbacks.......ok                                                    
t/13_end...............ok                                                    
Failed Test           Stat Wstat Total Fail  Failed  List of Failed
-------------------------------------------------------------------------------
t/10_2_shared_start.t   22  5632     3    6 200.00%  1-3
t/10_3_shared_use.t    255 65280     3    6 200.00%  1-3
t/10_4_shared_stop.t   255 65280     4    8 200.00%  1-4
t/10_5_shared_fork.t                 8    1  12.50%  6
t/10_6_shared_sim.t     22  5632     7   14 200.00%  1-7
Failed 5/18 test scripts, 72.22% okay. 18/314 subtests failed, 94.27% okay.
make: *** [test_dynamic] Error 2

$ PERL_INLINE_JAVA_DEBUG=99 perl -Mblib t/10_2_shared_start.t
1..3
# Running under perl version 5.008006 for darwin
# Current time local: Tue Aug 30 22:42:30 2005
# Current time GMT:   Tue Aug 30 21:42:30 2005
# Using Test.pm version 1.25
[perl][1] validate done.
[perl][1] Starting load.
[perl][4]    portable: ENV_VAR_PATH_SEP_CP for darwin is default ':'
[perl][4]    portable: SUB_FIX_JAVA_PATH => 
/Users/timbo/.cpan/sources/authors/id/P/PA/PATL/Inline-Java-0.50/blib/lib/Inline/Java/InlineJavaServer.jar
 for darwin is default 
'/Users/timbo/.cpan/sources/authors/id/P/PA/PATL/Inline-Java-0.50/blib/lib/Inline/Java/InlineJavaServer.jar'
[perl][2]  classpath: 
/Users/timbo/.cpan/sources/authors/id/P/PA/PATL/Inline-Java-0.50/blib/lib/Inline/Java/InlineJavaServer.jar
[perl][1] starting JVM...
[perl][1] client/server mode
[perl][4]    portable: GOT_ALARM for darwin is default 'define'
[perl][1] connected to already running JVM!
[perl][2]  classpath: 
[perl][4]    portable: SUB_FIX_JAVA_PATH => 
/Users/timbo/.cpan/sources/authors/id/P/PA/PATL/Inline-Java-0.50/blib/lib/Inline/Java/InlineJavaUser.jar
 for darwin is default 
'/Users/timbo/.cpan/sources/authors/id/P/PA/PATL/Inline-Java-0.50/blib/lib/Inline/Java/InlineJavaUser.jar'
[perl][2]  adding to classpath: 
'/Users/timbo/.cpan/sources/authors/id/P/PA/PATL/Inline-Java-0.50/blib/lib/Inline/Java/InlineJavaUser.jar'
[perl][3]   packet sent is add_classpath 
47.85.115.101.114.115.47.116.105.109.98.111.47.46.99.112.97.110.47.115.111.117.114.99.101.115.47.97.117.116.104.111.114.115.47.105.100.47.80.47.80.65.47.80.65.84.76.47.73.110.108.105.110.101.45.74.97.118.97.45.48.46.53.48.47.98.108.105.98.47.108.105.98.47.73.110.108.105.110.101.47.74.97.118.97.47.73.110.108.105.110.101.74.97.118.97.85.115.101.114.46.106.97.114
[perl][3]   packet recv is ok undef:
[perl][3]   getting server type
[perl][3]   packet sent is server_type
[perl][3]   packet recv is ok scalar:115.104.97.114.101.100
[perl][4]    destroying Inline::Java::Protocol
[perl][4]    portable: ENV_VAR_PATH_SEP_CP for darwin is default ':'
[perl][2]  classpath candidate '' scraped
[perl][4]    portable: SUB_FIX_JAVA_PATH => 
/Users/timbo/.cpan/sources/authors/id/P/PA/PATL/Inline-Java-0.50/_Inline_test/lib/auto/t10
 for darwin is default 
'/Users/timbo/.cpan/sources/authors/id/P/PA/PATL/Inline-Java-0.50/_Inline_test/lib/auto/t10'
[perl][2]  adding to classpath: 
'/Users/timbo/.cpan/sources/authors/id/P/PA/PATL/Inline-Java-0.50/_Inline_test/lib/auto/t10'
[perl][3]   packet sent is add_classpath 
47.85.115.101.114.115.47.116.105.109.98.111.47.46.99.112.97.110.47.115.111.117.114.99.101.115.47.97.117.116.104.111.114.115.47.105.100.47.80.47.80.65.47.80.65.84.76.47.73.110.108.105.110.101.45.74.97.118.97.45.48.46.53.48.47.95.73.110.108.105.110.101.95.116.101.115.116.47.108.105.98.47.97.117.116.111.47.116.49.48
[perl][3]   packet recv is ok undef:
[perl][3]   Inline::Java object id is 0
[perl][1] using jdat cache
[perl][5]     Dump:
$VAR1 = [];
[perl][5]     Dump:
$VAR1 = {};
[perl][1] load done.
[perl][4]    destroying Inline::Java::Protocol
Can't locate object method "new" via package "t10::t10" (perhaps you forgot to 
load "t10::t10"?) at t/10_2_shared_start.t line 36, <GEN0> line 3.
[perl][1] killed by natural death.
[perl][1] JVM non-owner exiting...
[perl][1] exiting with 255

$ find _Inline_test
_Inline_test
_Inline_test/build
_Inline_test/build/t09
_Inline_test/config
_Inline_test/lib
_Inline_test/lib/auto
_Inline_test/lib/auto/_01_init_t_b433
_Inline_test/lib/auto/_01_init_t_b433/_01_init_t_b433.inl
_Inline_test/lib/auto/_01_init_t_b433/_01_init_t_b433.jdat
_Inline_test/lib/auto/_01_init_t_b433/types1.class
_Inline_test/lib/auto/_02_primitives_t_d3a6
_Inline_test/lib/auto/_02_primitives_t_d3a6/_02_primitives_t_d3a6.inl
_Inline_test/lib/auto/_02_primitives_t_d3a6/_02_primitives_t_d3a6.jdat
_Inline_test/lib/auto/_02_primitives_t_d3a6/types2.class
_Inline_test/lib/auto/_03_objects_t_9f80
_Inline_test/lib/auto/_03_objects_t_9f80/_03_objects_t_9f80.inl
_Inline_test/lib/auto/_03_objects_t_9f80/_03_objects_t_9f80.jdat
_Inline_test/lib/auto/_03_objects_t_9f80/obj113.class
_Inline_test/lib/auto/_03_objects_t_9f80/obj13$inner_obj13.class
_Inline_test/lib/auto/_03_objects_t_9f80/obj13.class
_Inline_test/lib/auto/_03_objects_t_9f80/obj23.class
_Inline_test/lib/auto/_03_objects_t_9f80/types3.class
_Inline_test/lib/auto/_04_members_t_17c5
_Inline_test/lib/auto/_04_members_t_17c5/_04_members_t_17c5.inl
_Inline_test/lib/auto/_04_members_t_17c5/_04_members_t_17c5.jdat
_Inline_test/lib/auto/_04_members_t_17c5/obj14.class
_Inline_test/lib/auto/_04_members_t_17c5/types4.class
_Inline_test/lib/auto/_05_arrays_t_e8dd
_Inline_test/lib/auto/_05_arrays_t_e8dd/_05_arrays_t_e8dd.inl
_Inline_test/lib/auto/_05_arrays_t_e8dd/_05_arrays_t_e8dd.jdat
_Inline_test/lib/auto/_05_arrays_t_e8dd/types5.class
_Inline_test/lib/auto/_06_static_t_18a1
_Inline_test/lib/auto/_06_static_t_18a1/_06_static_t_18a1.inl
_Inline_test/lib/auto/_06_static_t_18a1/_06_static_t_18a1.jdat
_Inline_test/lib/auto/_06_static_t_18a1/p06
_Inline_test/lib/auto/_06_static_t_18a1/p06/types6.class
_Inline_test/lib/auto/_07_polymorph_t_1d94
_Inline_test/lib/auto/_07_polymorph_t_1d94/_07_polymorph_t_1d94.inl
_Inline_test/lib/auto/_07_polymorph_t_1d94/_07_polymorph_t_1d94.jdat
_Inline_test/lib/auto/_07_polymorph_t_1d94/t17.class
_Inline_test/lib/auto/_07_polymorph_t_1d94/t27.class
_Inline_test/lib/auto/_07_polymorph_t_1d94/types7.class
_Inline_test/lib/auto/_10_1_shared_alone_t_30b3
_Inline_test/lib/auto/_10_1_shared_alone_t_30b3/_10_1_shared_alone_t_30b3.inl
_Inline_test/lib/auto/_10_1_shared_alone_t_30b3/_10_1_shared_alone_t_30b3.jdat
_Inline_test/lib/auto/_10_1_shared_alone_t_30b3/t10.class
_Inline_test/lib/auto/_11_exceptions_t_fd75
_Inline_test/lib/auto/_11_exceptions_t_fd75/_11_exceptions_t_fd75.inl
_Inline_test/lib/auto/_11_exceptions_t_fd75/_11_exceptions_t_fd75.jdat
_Inline_test/lib/auto/_11_exceptions_t_fd75/t9.class
_Inline_test/lib/auto/_12_1_callbacks_t_5f16
_Inline_test/lib/auto/_12_1_callbacks_t_5f16/_12_1_callbacks_t_5f16.inl
_Inline_test/lib/auto/_12_1_callbacks_t_5f16/_12_1_callbacks_t_5f16.jdat
_Inline_test/lib/auto/_12_1_callbacks_t_5f16/t15$OwnException.class
_Inline_test/lib/auto/_12_1_callbacks_t_5f16/t15$OwnThread.class
_Inline_test/lib/auto/_12_1_callbacks_t_5f16/t15.class
_Inline_test/lib/auto/_13_end_t_0295
_Inline_test/lib/auto/_13_end_t_0295/_13_end_t_0295.inl
_Inline_test/lib/auto/_13_end_t_0295/_13_end_t_0295.jdat
_Inline_test/lib/auto/study_0295
_Inline_test/lib/auto/study_0295/study_0295.inl
_Inline_test/lib/auto/study_0295/study_0295.jdat
_Inline_test/lib/auto/study_79ac
_Inline_test/lib/auto/study_79ac/study
_Inline_test/lib/auto/study_79ac/study/a8.class
_Inline_test/lib/auto/study_79ac/study_79ac.inl
_Inline_test/lib/auto/study_79ac/study_79ac.jdat
_Inline_test/lib/auto/t09
_Inline_test/lib/auto/t09/p1
_Inline_test/lib/auto/t09/p1/p1.inl
_Inline_test/lib/auto/t09/p1/p1.jdat
_Inline_test/lib/auto/t09/p1/t09p1.class
_Inline_test/lib/auto/t09/p2
_Inline_test/lib/auto/t09/p2/p2.inl
_Inline_test/lib/auto/t09/p2/p2.jdat
_Inline_test/lib/auto/t09/p2/t09p2.class
_Inline_test/lib/auto/t09/p3
_Inline_test/lib/auto/t09/p3/p3.inl
_Inline_test/lib/auto/t09/p3/p3.jdat
_Inline_test/lib/auto/t09/p3/t09p3.class
_Inline_test/lib/auto/t10
_Inline_test/lib/auto/t10/t10.class
_Inline_test/lib/auto/t10/t10.inl
_Inline_test/lib/auto/t10/t10.jdat
_Inline_test/lib/auto/toto_0295
_Inline_test/lib/auto/toto_0295/toto_0295.inl
_Inline_test/lib/auto/toto_0295/toto_0295.jdat

Reply via email to