Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: Compiling Tk::PNG on win32 (complications, more c/xs than perl)

by Courage (Parson)
on Jul 15, 2002 at 09:59 UTC ( [id://181729]=note: print w/replies, xml ) Need Help??


in reply to Compiling Tk::PNG on win32 (complications, more c/xs than perl)

As I see this situation, Makefile.PL warned you that it misses those libraries "png" and "z", so you really need to "show" them to Makefile.PL somehow. I suggest you editing Config.pm to add extra libraries path.

Those unresolved externals that MSVC++ explains are symbols from those libraries.

BTW what "perl -V" outputs in your case?

Courage, the Cowardly Dog.

  • Comment on Re: Compiling Tk::PNG on win32 (complications, more c/xs than perl)

Replies are listed 'Best First'.
Re: Re: Compiling Tk::PNG on win32 (complications, more c/xs than perl)
by crazyinsomniac (Prior) on Jul 15, 2002 at 10:04 UTC
    Wouldn't passing -I and -L do that? (extra paths) Editing Config.pm is out of the question.
    Summary of my perl5 (revision 5 version 6 subversion 1) configuration: Platform: osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread uname='' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef usethreads=undef use5005threads=undef useithreads=define usemultip +licity=define useperlio=undef d_sfio=undef uselargefiles=undef usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef Compiler: cc='cl', ccflags ='-nologo -O1 -MD -DNDEBUG -DWIN32 -D_CONSOLE -DN +O_STRICT -DHAVE_DES_FCRYPT -D PERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DPERL_MSVCRT_READFIX', optimize='-O1 -MD -DNDEBUG', cppflags='-DWIN32' ccversion='', gccversion='', 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='off_t', + lseeksize=4 alignbytes=8, usemymalloc=n, prototype=define Linker and Libraries: ld='link', ldflags ='-nologo -nodefaultlib -release -libpath:"C:/ +Perl\lib\CORE" -machine:x86' libpth="C:\Program Files\Microsoft Visual Studio\VC98\mfc\lib" "C: +\Program Files\Microsoft Visua l Studio\VC98\lib" "C:\Perl\lib\CORE" libs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib + comdlg32.lib advapi32.lib sh ell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mp +r.lib winmm.lib version.lib o dbc32.lib odbccp32.lib msvcrt.lib perllibs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool +.lib comdlg32.lib advapi32.li b shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.li +b mpr.lib winmm.lib version.l ib odbc32.lib odbccp32.lib msvcrt.lib libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl56.lib Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -release -l +ibpath:"C:/Perl\lib\CORE" -ma chine:x86' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY USE_ITHREADS PERL_IMPLICIT_CONTEX +T PERL_IMPLICIT_SYS Locally applied patches: ActivePerl Build 633 Built under MSWin32 Compiled at Jun 17 2002 21:33:05 @INC: C:/Perl/lib C:/Perl/site/lib . C:\>
    so you really need to "show" them to Makefile.PL somehow.

    I'm open for suggestions (I cracked open Makefile.PL at one point, added stuff to LIBS and INC, as well as cracking the Makefile itself open and doing that under CCFLAGS, but that didn't really solve anything I didn't by hardcoding the stuff myself as described in the original thread ~ I really disliked doing that)

    At this point I really am convinced (since i'm using zlib 1.1.4, cause I can't find no other) that this is mostly due to my zlib version ~ most likely the Tk::PNG stuff needs to be updated to work with the newer zlib/libpng (imgPNG.c is the heart'n'soul of the module ~ i'm not an xs hacker).

     
    ______crazyinsomniac_____________________________
    Of all the things I've lost, I miss my mind the most.
    perl -e "$q=$_;map({chr unpack qq;H*;,$_}split(q;;,q*H*));print;$q/$q;"

      Here is one of my diff files to gain similar things:
      --- D:\WORK\PerlCompile\perl-5.6.1-x\compile-extensions\XML-Parser-2.3 +0\xxx\Makefile.PL Thu Apr 19 22:01:23 2001 +++ Makefile.PL Thu Apr 19 21:50:10 2001 @@ -24,7 +24,7 @@ WriteMakefile( NAME => 'XML::Parser::Expat', C => ['Expat.c'], - LIBS => $libs, + LIBS => "-L$Config{libpth} -L$Config{libpth}\\Relea +se vcl.lib $libs", XSPROTOARG => '-noprototypes', VERSION_FROM => 'Expat.pm', @extras
      So add/edit Makefile.PL in a similar way.

      Courage, the Cowardly Dog.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://181729]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others lurking in the Monastery: (9)
As of 2024-04-18 17:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found