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

Reply via email to