Installing XML::LibXSLT (ActiveState/32-bit)
Daniel Perrett <[email protected]> Wed, 28 Sep 2011 18:35:26 +0100
| Newsgroups | gmane.comp.lang.perl.xml |
|---|---|
| Message-ID | <OFFD8365EE.8215F183-ON80257919.00530E77-80257919.0060A1F2@cambridge.org> |
Hello I am having trouble loading XML::LibXSLT on ActiveState Perl (XP; 32-bit). Has anyone had any success? 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 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). I have successfully used 5.10 in the past, though I suspect I had to perform some crude trick to make it work... I can't remember what. Installing it via CPAN hasn't worked. Beware the pitfall that the most up-to-date version of LibXSLT built as PPA so far (1.63, from http://cpan.uwinnipeg.ca/PPMPackages/10xx/zips/ ) is not compatible with ActiveState's PPA for LibXML (1.7). So I've installed LibXML 1.65, (also available from the Winnipeg link above) then installed the LibXSLT 1.63 PPA. Installing like this does not result in any error. LibXML works fine this way, but simply trying to perl -e "use XML::LibXSLT;" results in the following error: Can't load 'C:/Perl/site/lib/auto/XML/LibXSLT/LibXSLT.dll' for module XML::LibXSLT: load_file:The specified procedure could not be found at C:/Perl/lib/DynaLoader.pm line 202. at -e line 1 Compilation failed in require at -e line 1. BEGIN failed--compilation aborted at -e line 1. In addition to a windows critical error (×) message box titled "perl.exe - Entry Point not found" with message "The procedure entry point xsltRegisterExtModuile could not be located in the dynamic link library libxslt.dll" 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. I have downloaded up-to-date dll files and placed the following in c:\Perl\site\bin: libexslt.dll libexslt_win32.dll libxslt.dll libxslt_win32.dll xsltproc.exe minigzip.exe zlib1.dll libxml2.dll xmlcatalog.exe xmllint.exe dmake.exe (_win32 files are simply manual copies of the original - see below) Should they be in other places? Are other files supposed to be in other places? I notice there is a warning the in Makefile.pl: According to the version string you are running a win32 perl 5.10.0 that is known to be suffering from dynaloader bug that prevents using non-default module's DLL name. Therefore we have to use LibXSLT.dll that will clash with the standard name of xslt library DLL. Please consider renaming your xslt library to e.g. libxslt_win32.dll and then make the appropriate changes to this module's build process to look for that instead of standard libxslt.dll. If you do not make the proposed changes you will got during the tests many error popups with slightly confusing message about "xsltApplyOneTemplate" function. This bug is not present in perl 5.8.* and will be fixed in 5.10.1. I've not been able to work out what the "appropriate changes" are that will make the installation work (I've tried a couple, not using the PPAs, obviously). I don't know which copy of the XSLT library and whether I can fix this post-installation. NB: I don't have the installer for 5.10.1, only an old copy of 5.10.0 as ActiveState have taken 5.10.x down entirely. Am I stuffed? 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! Daniel _______________________________________________ Perl-XML mailing list [email protected] To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs