in reply to Re^2: Imager::File::TIFF Dependencies
in thread Imager::File::TIFF Dependencies
If you can post a minimal example program which replicates your problem, along with your perl version I'll try to replicate and diagnose further.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: Imager::File::TIFF Dependencies
by BrentD (Sexton) on May 23, 2017 at 16:17 UTC | |
And here is the command I packaged it with: Then I moved it over to another machine (A Virtual Box running Windows 10 64-bit) and ran it: I am fairly positive that the file it's asking about, c6dc6748.xs.dll is actually C:\Strawberry\perl\vendor\lib\auto\Imager\File\TIFF\TIFF.xs.dll, as that c6dc6748 is the CRC32 of the TIFF.xs.dll in the compressed archive file (as opened in WinRAR by changing the .exe to a .zip). Here's my perl version info: and again, pp -V with extraneous info removed:
| [reply] [d/l] [select] |
by swl (Prior) on May 23, 2017 at 22:03 UTC | |
Thanks for the code and pp version. I can reproduce the issue using Strawberry perl 5.24.1 with pp 1.036 (tested using a second cmd window with no perl in the path). The issue appears to be an interaction between PAR::Packer packing dlls using their CRC32 checksums, but XSLoader does not (cannot) know that the names have changed in the packed directories and so calls the original name. This results in the error reported at line 11 of Imager::File::TIFF. The PAR::Packer change log indicates it was updated to handle XSLoader changes in version 1.010 - https://metacpan.org/changes/distribution/PAR-Packer. Possibly some more recent changes in XSLoader are not being handled by PAR::Packer? (https://metacpan.org/changes/distribution/XSLoader). It is probably worth taking this to the PAR::Packer mailing list or report an issue via rt: https://rt.cpan.org/Public/Dist/Display.html?Name=PAR-Packer. ... and on looking at the RT queue, there is a recent ticket that looks very similar to this issue, so it might be a more general problem: https://rt.cpan.org/Public/Bug/Display.html?id=120127. Maybe try an older version of PAR::Packer? Shawn. Update: Just tried with pp 1.030 under Strawberry perl 5.22.2 and get the same error. Update 2: It looks like the XSLoader code is patched by PAR::Filter::PatchContent and ultimately passes through to &DynaLoader::bootstrap_inherit. I don't know the innards of Dynaloader, but it leads me to think the RT ticket listed above has the same root cause. Others will no doubt have more informed ideas. | [reply] |
by Anonymous Monk on May 24, 2017 at 01:41 UTC | |
The issue appears to be an interaction between PAR::Packer packing dlls using their CRC32 checksums, but XSLoader does not (cannot) know that the names have changed in the packed directories and so calls the original name. This results in the error reported at line 11 of Imager::File::TIFF. No. If that was the issue PAR::Packer would not work for anything. If you want to find out what the issue is use depends.exe depends.exe /c /f:1 /pb /ot:temp.txt packed.exe arg1 arg2 | [reply] [d/l] |
by swl (Prior) on May 24, 2017 at 03:05 UTC | |
by BrentD (Sexton) on May 24, 2017 at 19:48 UTC | |
|
Re^4: Imager::File::TIFF Dependencies
by swl (Prior) on May 23, 2017 at 11:52 UTC | |
The version of pp you are using would also help. pp -V | [reply] [d/l] |
by BrentD (Sexton) on May 23, 2017 at 15:40 UTC | |
| [reply] [d/l] |