Page 1 of 1

NoDecodeDelegateForThisImageFormat - PAR::Packer/PerlMagick

Posted: 2009-12-11T19:21:06-07:00
by Hatch
Windows XP SP3 running under VirtualBox 3.0.8_OSE r53138 in 32-bit LinuxMint Helena (kernel 2.6.31-14-generic)
ActivePerl 5.10.1 build 1006
ImageMagick 6.5.8 Q16
PerlMagick installed using the ImageMagick installer
Par::Packer 0.991 installed from the bribes repository using ActivePerl's ppm GUI

I don't really know if I should be talking to you guys or the PPM people. Regardless, here's what I'm doing:

To package my script, I'm doing:

Code: Select all

set %im%="C:\Program Files\ImageMagick-6.5.8-Q16"
Followed by:

Code: Select all

pp -v -o pjchecker.exe -l %im%\CORE_RL_magick_.dll -l %im%\X11.dll -l %im%\CORE_RL_zlib_.dll -l %im%\CORE_RL_bzlib_.dll -l %im%\CORE_RL_lcms_.dll -l %im%\CORE_RL_ttf_.dll -l %im%\modules\coders\IM_MOD_RL_gif_.dll -l %im%\modules\coders\IM_MOD_RL_png_.dll -l %im%\ImageMagickObject.dll -l %im%\msvcr90.dll -l %im%\msvcp90.dll -l %im%\mfc90.dll -l %im%\vcomp90.dll -l %im%\atl90.dll -l %im%\modules\coders\IM_MOD_RL_magick_.dll pjchecker.pl
My exe works fine in the virtual machine with Image/PerlMagick, but on my "clean" VM If I don't include the CORE_DL files, the exe won't run at all. If I include them, it runs, but gets this error when it tries to load an image:

Code: Select all

X:\>pjchecker.exe Screenshot.png
Opening image... Exception 420: NoDecodeDelegateForThisImageFormat `Screenshot.png' @ constitute.c/ReadImage/530
Press <Enter> or <Return> to exit
Here's the relevant code snippet:

Code: Select all

print "Opening image... ";
my $image = Image::Magick->new;
my $result = $image -> Read($filename);
if ($result) {
	quitit( $result );
}
print "Done.\n";
The quitit() function just prints the passed string and displays the "press enter to exit" prompt. Any help would be enormously appreciated.