Re: Installing XML::LibXSLT (ActiveState/32-bit)

Daniel Perrett <[email protected]> Fri, 9 Dec 2011 16:12:31 +0000
Newsgroups gmane.comp.lang.perl.xml
Message-ID <OF677345A7.AB0C1F03-ON80257961.00577179-80257961.00590AFA@cambridge.org>
I was just checking back on whether ActivePerl supports LibXSLT - no 
change, but I did notice something which might be the cause and thought 
I'd share.

>From http://code.activestate.com/ppm/XML-LibXML/

This build succeeds:
  CPAN.pm: Going to build P/PA/PAJAS/XML-LibXML-1.70.tar.gz

>>> C:\Perl64-5.12\bin\perl.exe Makefile.PL INC=-I%FLY_LIBS%\include 
"LIBS=-L%FLY_LIBS%\lib -liconv"

This build fails:
  CPAN.pm: Going to build S/SH/SHLOMIF/XML-LibXML-1.71.tar.gz

>>> C:\Perl64-5.12\bin\perl.exe Makefile.PL

It fails because it doesn't find the libraries, which suggests that this 
INC/LIBS change is to blame.

What is this FLY_LIBS (path for dlls created on-the-fly?) and is its 
absence solvable in LibXML or in the ActiveState setup?

The XML::LibXSLT build logs on 
http://code.activestate.com/ppm/XML-LibXSLT/ all have no INC/LIBS argument 
and all fail. The fact that at some stage LibXSLT did work on ActivePerl 
5.10 suggests to me that something has been changed at AS. 

Hope this is of some use to anyone else who uses LibXSLT. 

Daniel



From:   Daniel Perrett <[email protected]>
To:     Bjoern Hoehrmann <[email protected]>
Cc:     [email protected]
Date:   29/09/2011 18:05
Subject:        Re: Installing XML::LibXSLT (ActiveState/32-bit)
Sent by:        [email protected]



Many thanks for your response. I was aware of the existence of Strawberry 
Perl but wasn't aware it came with LibXSLT installed, so that was very 
useful. 

"http://strawberryperl.com/ is an alternative Perl distribution that
ships with the modules in question, but there is no 5.14 version yet." 
Thanks - I've had a chance to tried it and I got it installed and working 
in a few minutes. 

I'll probably proceed with Stawberry Perl for the time being, but in case 
there's any chance of a solution (and for the benefit of others), it would 
be good to clarify: 

"The general workflow would be that you get libxslt, compile it," 
So do I need to be compiling LibXSLT.dll from source and definitely not 
using the precompiled version (with or without the accompanying .lib and 
.h files )? That makes things trickier. 

" ensure that Makefile.PL can find the library headers and other files, 
and then
use the standard perl Makefile.PL; make test; make install process." 
One problem for me has been working out where Makefile.PL wants these 
things (dlls, .exe, .lib, .h?). Unless I'm being a bit thick, it's not 
obvious where it is looking. 

Daniel 



From:        Bjoern Hoehrmann <[email protected]> 
To:        Daniel Perrett <[email protected]> 
Cc:        [email protected] 
Date:        28/09/2011 19:06 
Subject:        Re: Installing XML::LibXSLT (ActiveState/32-bit) 



* Daniel Perrett wrote:
>On Perl 5.14 there are no PPAs available. An error log is available: 
>
http://ppm4.activestate.com/MSWin32-x86/5.14/1400/P/PA/PAJAS/XML-LibXSLT-1.70.d/log-20110430T090745.txt


As I understand it, ActiveState generally does not provide PPMs for XS
modules with external dependencies such as libxslt in this case.

>When I try to make it via CPAN (using dmake) I get a similar experience: 
>even though it has successfully found the libraries (looking for 
>-llibxslt... yes), it then forgets (Note (probably harmless): No library 
>found for -llibxslt). There then follows a series of complaints which 
look 
>like calls to the libxslt dlls (which it hasn't loaded).

The general workflow would be that you get libxslt, compile it, ensure
that Makefile.PL can find the library headers and other files, and then
use the standard perl Makefile.PL; make test; make install process. If
you use Visual C++ you would need a `libxslt.lib` file for instance to
properly link the XS module to the libxslt DLL. If Makefile.PL cannot
find the .lib file, you get a message like the one above.

>I notice that the dll file in the 'auto' directory is 45KB, whereas 
>libxslt-1.1.26 (available from zlatkovic.com, which is where 
>http://xmlsoft.org/ points you to) is 163KB. Using the 163KB version in 
>place of the 45KB version also doesn't work, it reports "Can't find 
>'boot_XML__LibXSLT' symbol in 
>C:/Perl/site/lib/auto/XML/LibXSLT/LibXSLT.dll", but generates no 
>messagebox.

There would be two libxslt.dll files, one being the XS module and the
other being the actual library the XS module provides an interface to.

>Many thanks to anyone who reads this far - any ideas? If it's not 
possible 
>to have a working set of PPAs for the most up-to-date versions of 
>Perl/LibXML/LibXSLT, it would at least be good to be able to put together 

>reproduceable instructions for installing a version of this very useful 
>module!

http://strawberryperl.com/ is an alternative Perl distribution that
ships with the modules in question, but there is no 5.14 version yet.
-- 
Björn Höhrmann · mailto:[email protected] · http://bjoern.hoehrmann.de
Am Badedeich 7 · Telefon: +49(0)160/4415681 · http://www.bjoernsworld.de
25899 Dagebüll · PGP Pub. KeyID: 0xA4357E78 · http://www.websitedev.de/ 
_______________________________________________
Perl-XML mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

_______________________________________________
Perl-XML mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs