Skip Menu |

This queue is for tickets about the Perl-Dist-Strawberry CPAN distribution.

Report information
The Basics
Id: 63958
Status: resolved
Priority: 0/
Queue: Perl-Dist-Strawberry

People
Owner: Nobody in particular
Requestors: PHILKIME [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: (no value)
Fixed in: (no value)



Subject: XML:LibXSLT needs small fix work with PAR::Packer
There is "special" fix in XML::LibXSLT which makes it not work with PAR::Packer. One always seems to get "can't load dynamic module" error as it seems LibXSLT.pm can't find its XS .dll. This is because on Windows, XML::LibXSLT renames its XS .dll to "LibXSLT.xs.dll" instead of the usual "LibXSLT.dll". For some reason, this works fine in strawberry perl but when pp packs XML::LibXSLT, it doesn't work. You can't rename the library and pack that - doesn't work either as the module is built to expect the alternative name. It does this because usually, the library which XML::LibXSLT depends on is "libxslt.dll" which, on a case-insensitive filesystem conflicts with the XS library name. So, the "fix" is a good idea in general. However, it's not needed with strawberry perl as this comes with its own libxslt.dll usually called something like "libxslt-1_.dll" so there is no name conflict. So, you can make things work by downloading the latest XML::LibXSLT distribution from CPAN, editing Makefile.PL to take out the windows "special fix" by changing the line (around line 195) from <code> $config{DLEXT} = 'xs.dll' if ($is_Win32); </code> to <code> $config{DLEXT} = 'dll' if ($is_Win32); </code> and then building/installing. This is a workaround as this installs in site/, overriding the strawberry vendor/ version but it would be nice to do this for the vendor/ version that comes with strawberry as it doesn't need the "fix" since its libxslt isn't called vanilla "libxslt.dll", so the XS dll can be called the usual "LibXSLT.dll" and then everything works with PAR::Packer. It's not clear why PAR::Packer has issues with the special XS dll name but since strawberry doesn't need the special name anyway, seems useful to fix it there.
Please try to report this issue to XML::LibXSLT or PAR::Packer

Strawberry Perl cannot do much about this.

--
kmx