Hi,
I don't see -ljvm and the other Java libs in your build commands.
Make sure you add the specified directories to your PATH as specified
during "perl Makefile.PL". Look for something like this:
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:
D:\usr\java\jdk1.6.0_01\jre\bin
D:\usr\java\jdk1.6.0_01\jre\bin\client
See README.JNI for more information.
Patrick
On 11/5/07, sharmishtha upadhyay <[EMAIL PROTECTED]> wrote:
> Hi,
>
> After changing the perl/lib/Config.pm, I get the
> following error with "dmake"
>
> cp JNI.pm ..\blib\lib\Inline\Java\JNI.pm
> gcc -c "-IC:\Java\jdk1.5.0_11\include"
> "-IC:\Java\jdk1.5.0_11\include\win32" -DNDEBUG
> -DWIN32 -D_CONSOLE -DN
> O_STRICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED
> -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT
> -DPERL_IMPLICIT_SYS -DUSE
> _PERLIO -DPERL_MSVCRT_READFIX -DHASATTRIBUTE
> -fno-strict-aliasing -O2 -DVERSION=\"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
> 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 -lkernel32 -luser32
> -lgdi32 -lwinspool -lcomdlg32 -lad
> vapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid
> -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32
> -lms
> vcrt dll.exp
> 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'
>
> The following are the outputs that you requested:
>
> C:\My Downloads\Inline-Java-0.52>perl -V
> Set up gcc environment - 3.4.2 (mingw-special)
> Summary of my perl5 (revision 5 version 8 subversion
> 8) configuration:
> Platform:
> osname=MSWin32, osvers=4.0,
> archname=MSWin32-x86-multi-thread
> uname=''
> config_args='undef'
> hint=recommended, useposix=true, d_sigaction=undef
> usethreads=define use5005threads=undef
> useithreads=define usemultiplicity=define
> useperlio=define d_sfio=undef uselargefiles=define
> usesocks=undef
> use64bitint=undef use64bitall=undef
> uselongdouble=undef
> usemymalloc=n, bincompat5005=undef
> Compiler:
> cc='gcc', ccflags ='-DNDEBUG -DWIN32 -D_CONSOLE
> -DNO_STRICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED
> -DUSE_SITECUST
> OMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS
> -DUSE_PERLIO -DPERL_MSVCRT_READFIX -DHASATTRIBUTE
> -fno-strict
> -aliasing',
> optimize='-O2',
> cppflags='-DWIN32'
> ccversion='', gccversion='3.4.2 (mingw-special)',
> gccosandvers=''
> intsize=4, longsize=4, ptrsize=4, doublesize=8,
> byteorder=1234
> d_longlong=undef, longlongsize=8,
> d_longdbl=define, longdblsize=10
> ivtype='long', ivsize=4, nvtype='double',
> nvsize=8, Off_t='__int64', lseeksize=8
> alignbytes=8, prototype=define
> Linker and Libraries:
> ld='g++', ldflags ='-nologo -nodefaultlib -debug
> -opt:ref,icf -libpath:"C:\Perl\lib\CORE"
> -machine:x86'
> libpth=\lib
> libs=-lkernel32 -luser32 -lgdi32 -lwinspool
> -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32
> -lnetapi32 -
> luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32
> -lodbccp32 -lmsvcrt
> perllibs=-lkernel32 -luser32 -lgdi32 -lwinspool
> -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32
> -lnetapi
> 32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32
> -lodbccp32 -lmsvcrt
> libc=msvcrt.lib, so=dll, useshrplib=yes,
> libperl=perl58.lib
> gnulibc_version=''
> Dynamic Linking:
> dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef,
> ccdlflags=' '
> cccdlflags=' ', lddlflags='-mdll
> -L"C:\Perl\lib\CORE"'
>
>
> Characteristics of this binary (from libperl):
> Compile-time options: MULTIPLICITY
> PERL_IMPLICIT_CONTEXT
> PERL_IMPLICIT_SYS
> PERL_MALLOC_WRAP
> PL_OP_SLAB_ALLOC USE_ITHREADS
> USE_LARGE_FILES
> USE_PERLIO USE_SITECUSTOMIZE
> Locally applied patches:
> ActivePerl Build 820 [274739]
> Iin_load_module moved for compatibility with
> build 806
> PerlEx support in CGI::Carp
> Less verbose ExtUtils::Install and Pod::Find
> Patch for CAN-2005-0448 from Debian with
> modifications
> Rearrange @INC so that 'site' is searched
> before 'perl'
> Partly reverted 24733 to preserve binary
> compatibility
> 29930 win32.c typo in #define MULTIPLICITY
> 29868 win32_async_check() can still loop
> indefinitely
> 29690,29732 ANSIfy the PATH environment
> variable on Windows
> 29689 Add error handling to win32_ansipath
> 29675 Use short pathnames in $^X and @INC
> 29607,29676 allow blib.pm to be used for
> testing Win32 module
> 29605 Implement killpg() for MSWin32
> 29598 cwd() to return the short pathname
> 29597 let readdir() return the alternate
> filename
> 29590 Don't destroy the Unicode system
> environment on Perl startup
> 29528 get ext/Win32/Win32.xs to compile on
> cygwin
> 29509,29510,29511 Move Win32::* functions into
> Win32 module
> 29483 Move Win32 from win32/ext/Win32 to
> ext/Win32
> 29481 Makefile.PL changes to compile Win32.xs
> using cygwin
> 28671 Define PERL_NO_DEV_RANDOM on Windows
> 28376 Add error checks after execing
> PL_cshname or PL_sh_path
> 28305 Pod::Html should not convert "foo" into
> ``foo''
> 27833 Change anchor generation in Pod::Html
> for '=item item 2'
> 27832,27847 fix Pod::Html::depod() for
> multi-line strings
> 27719 Document the functions htmlify() and
> anchorify() in Pod::Html
> 27619 Bug in Term::ReadKey being triggered by
> a bug in Term::ReadLine
> 27549 Move DynaLoader.o into libperl.so
> 27528 win32_pclose() error exit doesn't unlock
> mutex
> 27527 win32_async_check() can loop
> indefinitely
> 27515 ignore directories when searching @INC
> 27359 Fix -d:Foo=bar syntax
> 27210 Fix quote typo in c2ph
> 27203 Allow compiling swigged C++ code
> 27200 Make stat() on Windows handle trailing
> slashes correctly
> 27133 Initialise lastparen in the regexp
> structure
> 27061 L<PerlIO> and Pod::Html
> 27034 Avoid "Prototype mismatch" warnings with
> autouse
> 26970 Make Passive mode the default for
> Net::FTP
> 26921 Avoid getprotobyname/number calls in
> IO::Socket::INET
> 26897,26903 Make common IPPROTO_* constants
> always available
> 26670 Make '-s' on the shebang line parse
> -foo=bar switches
> 26637 Make Borland and MinGW happy with change
> 26379
> 26536 INSTALLSCRIPT versus INSTALLDIRS
> 26379 Fix alarm() for Windows 2003
> 26087 Storable 0.1 compatibility
> 25861 IO::File performace issue
> 25084 long groups entry could cause memory
> exhaustion
> 24699 ICMP_UNREACHABLE handling in Net::Ping
> Built under MSWin32
> Compiled at Jan 23 2007 15:57:46
> %ENV:
> PERL5_INCLUDE="C:\Perl\lib\CORE"
> PERL5_LIB="C:\Perl\lib\CORE\perl58.lib"
> PERL_INLINE_JAVA_J2SDK="C:\Java\jdk1.5.0_11"
> @INC:
> C:/Perl/site/lib
> C:/Perl/lib
> .
>
> C:\My Downloads\Inline-Java-0.52>perl -V:cc
> Set up gcc environment - 3.4.2 (mingw-special)
> cc='gcc';
>
> C:\My Downloads\Inline-Java-0.52>perl -V:obj_ext
> Set up gcc environment - 3.4.2 (mingw-special)
> obj_ext='.o';
>
> --- Sisyphus <[EMAIL PROTECTED]> wrote:
>
> >
> > ----- Original Message -----
> > From: "Patrick LeBoutillier"
> > <[EMAIL PROTECTED]>
> > .
> > .
> > >> g++: JNI.obj: No such file or directory
> >
> > I think it's just that the file can't be found
> > because it's called JNI.o
> > (JNI.obj).
> >
> > This looks like an error you'll get when using gcc
> > with older versions of
> > ActiveState perl. With ActivePerl build 822 (and
> > presumably later builds, if
> > such exist) this probelm does not arise.
> >
> > There's a fix outlined in the "Bugs and Their Fixes"
> > section of
> > http://www.perlmonks.org/index.pl?node_id=614808 .
> >
> > If that explanation does not apply (in which case we
> > need to find a
> > different explanation), could the OP please supply
> > the output of 'perl -V',
> > and we'll have another think about it. Also, just to
> > be doubly sure, provide
> > the output of 'perl -V:cc' and 'perl -V:obj_ext'.
> >
> > Cheers,
> > Rob
> >
> >
>
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
>
--
=====================
Patrick LeBoutillier
Laval, Québec, Canada