----- Original Message -----
From: "sharmishtha upadhyay" <[EMAIL PROTECTED]>
To: "Patrick LeBoutillier" <[EMAIL PROTECTED]>
Cc: "Sisyphus" <[EMAIL PROTECTED]>; <inline@perl.org>
Sent: Tuesday, November 13, 2007 7:22 AM
Subject: Re: can't install perl module with SHARED_JVM=>1
Hi Patrick,
Even after setting the PATH, I get the same error:
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 -lke
rnel32 -luser32 -lgdi32 -lwinspool -lcomdlg32
-ladvapi32 -lshell32 -lole32 -loleaut32
-lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion
-lodbc32 -lodbccp32 -lmsvcrt dll.ex
p
JNI.o:JNI.c:(.text+0xa00): undefined reference to
[EMAIL PROTECTED]'
JNI.o:JNI.c:(.text+0xd46): undefined reference to
[EMAIL PROTECTED]'
collect2: ld returned 1 exit status
dmake.exe: Error code 1, while making
'..\blib\arch\auto\Inline\Java\JNI\JNI.dll'
dmake.exe: Error code 255, while making 'subdirs'
Here is all I do to build to Inline-Java-0.52 using ActivePerl 5.8.8 (build
822), dmake and MinGW:
----------------------------------------------------------------
C:\_32\comp\Inline-Java-0.52>set PATH=C:\jdk1.5.0_07\jre\bin\client;%PATH%
C:\_32\comp\Inline-Java-0.52>set PERL_INLINE_JAVA_JNI=1
C:\_32\comp\Inline-Java-0.52>perl Makefile.PL J2SDK=C:/jdk1.5.0_07
Set up gcc environment - 3.4.5 (mingw32 special)
Welcome to the Inline::Java installation procedure.
Default J2SDK for Inline::Java will be 'C:/jdk1.5.0_07'.
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] y
Building JNI extension.
1) C:\jdk1.5.0_07\jre\bin\client
2) C:\jdk1.5.0_07\jre\bin\server
Please select from the above list which 'jvm.dll' to use: [1] 1
Building with:
C:\jdk1.5.0_07\include\jni.h
C:\jdk1.5.0_07\include\win32\jni_md.h
C:\jdk1.5.0_07\lib\jvm.lib
C:\jdk1.5.0_07\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_07\jre\bin\client
C:\jdk1.5.0_07\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] 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] 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:\_32\comp\Inline-Java-0.52>dmake test
"C:\jdk1.5.0_07\bin\javac.exe" -deprecation -g -d Java\classes
Java\sources\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_07\bin\jar.exe" cf Java\InlineJavaServer.jar -C Java\classes
org -C
Java\classes InlineJava.properties
"C:\jdk1.5.0_07\bin\jar.exe" cf Java\InlineJavaUser.jar -C Java\classes
InlineJa
vaUserClassLink.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
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:\_32\ap822\bin\perl.exe C:\_32\ap822\lib\ExtUtils\xsubpp -typemap
C:\_32\ap82
2\lib\ExtUtils\typemap -typemap typemap JNI.xs > JNI.xsc &&
C:\_32\ap822\bin\pe
rl.exe -MExtUtils::Command -e mv JNI.xsc JNI.c
gcc -c "-IC:\jdk1.5.0_07\include"
:\jdk1.5.0_07\include\win32" -DNDEBUG
-DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED -DUSE_SITECUSTO
MIZE -DPRIVLIB_LAST_IN_INC -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PER
LIO -DPERL_MSVCRT_READFIX -DHASATTRIBUTE -fno-strict-aliasing -O2 -DVERS
ION=\"0.52\" -DXS_VERSION=\"0.52\" "-IC:\_32\ap822\lib\CORE" JNI.c
Running Mkbootstrap for Inline::Java::JNI ()
C:\_32\ap822\bin\perl.exe -MExtUtils::Command -e chmod 644 JNI.bs
C:\_32\ap822\bin\perl.exe -MExtUtils::Mksymlists \
-e "Mksymlists('NAME'=>\"Inline::Java::JNI\", 'DLBASE' => 'JNI',
'DL_FUNCS'
=> { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);"
Set up gcc environment - 3.4.5 (mingw32 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 -m
dll -L"C:\_32\ap822\lib\CORE" JNI.o -Wl,--image-base,0x2e220000
C:\_32\ap822\li
b\CORE\perl58.lib C:\jdk1.5.0_07\lib\libjvm.a C:\_32\MinGW\lib\libkernel32.a
C:\
_32\MinGW\lib\libuser32.a C:\_32\MinGW\lib\libgdi32.a
C:\_32\MinGW\lib\libwinspo
ol.a C:\_32\MinGW\lib\libcomdlg32.a C:\_32\MinGW\lib\libadvapi32.a
C:\_32\MinGW\
lib\libshell32.a C:\_32\MinGW\lib\libole32.a C:\_32\MinGW\lib\liboleaut32.a
C:\_
32\MinGW\lib\libnetapi32.a C:\_32\MinGW\lib\libuuid.a
C:\_32\MinGW\lib\libws2_32
.a C:\_32\MinGW\lib\libmpr.a C:\_32\MinGW\lib\libwinmm.a
C:\_32\MinGW\lib\libver
sion.a C:\_32\MinGW\lib\libodbc32.a C:\_32\MinGW\lib\libodbccp32.a
C:\_32\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:\_32\ap822\lib\CORE"
JNI.o -Wl,--image-base,0x2e220000 C:\_32\ap822\lib\CORE\perl58.lib
C:\jdk1.5.0
_07\lib\libjvm.a C:\_32\MinGW\lib\libkernel32.a C:\_32\MinGW\lib\libuser32.a
C:\
_32\MinGW\lib\libgdi32.a C:\_32\MinGW\lib\libwinspool.a
C:\_32\MinGW\lib\libcomd
lg32.a C:\_32\MinGW\lib\libadvapi32.a C:\_32\MinGW\lib\libshell32.a
C:\_32\MinGW
\lib\libole32.a C:\_32\MinGW\lib\liboleaut32.a
C:\_32\MinGW\lib\libnetapi32.a C:
\_32\MinGW\lib\libuuid.a C:\_32\MinGW\lib\libws2_32.a
C:\_32\MinGW\lib\libmpr.a
C:\_32\MinGW\lib\libwinmm.a C:\_32\MinGW\lib\libversion.a
C:\_32\MinGW\lib\libod
bc32.a C:\_32\MinGW\lib\libodbccp32.a C:\_32\MinGW\lib\libmsvcrt.a dll.exp
C:\_32\ap822\bin\perl.exe -MExtUtils::Command -e chmod 755
..\blib\arch\auto\Inl
ine\Java\JNI\JNI.dll
No root path(s) specified
at C:/_32/ap822/lib/ExtUtils/Command.pm line 109
C:\_32\ap822\bin\perl.exe -MExtUtils::Command -e cp JNI.bs
..\blib\arch\auto\Inl
ine\Java\JNI\JNI.bs
C:\_32\ap822\bin\perl.exe -MExtUtils::Command -e chmod 644
..\blib\arch\auto\Inl
ine\Java\JNI\JNI.bs
C:\_32\ap822\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0,
'blib\
lib', 'blib\arch')" t/*.t
t/01_init..............Set up gcc environment - 3.4.5 (mingw32 special)
Set up gcc environment - 3.4.5 (mingw32 special)
Perl version is 5.008008
Inline version is 0.44
Inline::Java version is 0.52
J2SDK version is 1.5.0_07, from C:/jdk1.5.0_07
CLASSPATH is <empty>
Using JNI extension.
t/01_init..............ok
t/02_primitives........Set up gcc environment - 3.4.5 (mingw32 special)
t/02_primitives........ok
t/02_primitives_1_4....Set up gcc environment - 3.4.5 (mingw32 special)
t/02_primitives_1_4....ok
t/03_objects...........Set up gcc environment - 3.4.5 (mingw32 special)
Note: inner_obj13.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
t/03_objects...........ok
t/04_members...........Set up gcc environment - 3.4.5 (mingw32 special)
Note: _04_members_t_17c5.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
t/04_members...........ok
t/05_arrays............Set up gcc environment - 3.4.5 (mingw32 special)
t/05_arrays............ok
t/06_static............Set up gcc environment - 3.4.5 (mingw32 special)
Note: types6.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
t/06_static............ok
t/07_polymorph.........Set up gcc environment - 3.4.5 (mingw32 special)
t/07_polymorph.........ok
t/08_study.............Set up gcc environment - 3.4.5 (mingw32 special)
Note: a8.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
t/08_study.............ok
t/09_usages............Set up gcc environment - 3.4.5 (mingw32 special)
t/09_usages............ok
t/10_1_shared_alone....skipped
all skipped: no reason given
t/10_2_shared_start....Set up gcc environment - 3.4.5 (mingw32 special)
skipped
all skipped: no reason given
t/10_3_shared_use......Set up gcc environment - 3.4.5 (mingw32 special)
skipped
all skipped: no reason given
t/10_4_shared_stop.....Set up gcc environment - 3.4.5 (mingw32 special)
skipped
all skipped: no reason given
t/10_5_shared_fork.....Set up gcc environment - 3.4.5 (mingw32 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 (mingw32 special)
t/11_exceptions........ok
t/12_1_callbacks.......Set up gcc environment - 3.4.5 (mingw32 special)
t/12_1_callbacks.......ok
t/13_handles...........Set up gcc environment - 3.4.5 (mingw32 special)
t/13_handles...........ok
t/14_encoding..........Set up gcc environment - 3.4.5 (mingw32 special)
t/14_encoding..........ok
t/15_native_doubles....Set up gcc environment - 3.4.5 (mingw32 special)
t/15_native_doubles....ok
t/99_end...............Set up gcc environment - 3.4.5 (mingw32 special)
t/99_end...............ok
All tests successful, 6 tests skipped.
Files=22, Tests=326, 35 wallclock secs ( 0.00 cusr + 0.00 csys = 0.00 CPU)
'No tests defined for Inline::Java::JNI extension.'
----------------------------------------------------------------
What part of that fails for you when you do the same ?
Cheers,
Rob