(none) imager-devel
/ help / lists / applications / search /
 

Re: Upgrading cpan modules seems to have broken something relating to Imager

From: Tony Cook (
19870@xyz.molar.is)
Date: Tue 08 May 2012 - 12:51:07 GMT


On Tue, May 08, 2012 at 02:23:30PM +0200, mark hardwick wrote:
> Hi
> I upgraded the cpan modules on my development system to the latest version. I figured it was about time.
> All is working fine, except that when I try to process images with imager, I'm getting the following error in my logs
> (which I didn't get before).
>
> I having real trouble trying to work out exactly what is failing and why. Any insight would be greatly appreciated.
>
> Relevant log entries:
> ----------------
> Falling back to DynaLoader (Imager API version incorrect loaded 4 vs expected 3 at /usr/local/lib/perl/5.14.2/XSLoader.pm line 95.
> )
> YMGN process died: format 'png' not supported - formats bmp, ico, pnm, raw, sgi, tga available for reading - Imager API version incorrect loaded 4 vs expected 3 at /usr/lib/perl5/Imager/File/PNG.pm line 16.\nBEGIN failed--compilation aborted at /usr/lib/perl5/Imager/File/PNG.pm line 18. at /home/ymogen/src/YMGN/trunk/lib/YMGN/C/File.pm line 120.
> ----------------
>
> NB. png files have worked fine for years now, line 120 of File.pm contains the code;
> my $img = Imager->new();

Reinstall Imager.

Assuming you still have library headers installed this should
reinstall Imager itself and the file handlers to use the same Imager
API version.

If you don't still have the headers available, you'll need to
reinstall them.

When I change C types visible to the API I increase the API version
and the API boilerplate checks that the version in the current module
(say Imager::File::PNG) matches Imager's to avoid binary
incompatibilities.

Reinstalling will rebuild the binaries to all use the same structure
layouts.

Tony