ETOOBUSY 🚀 minimal blogging for the impatient
Frustrating results with PerlMagick
TL;DR
I wonder about the state of PerlMagick.
PerlMagick represents the Perl bindings for… well, it’s complicated:
- ImageMagick is the “original” software, which is still very popular as it grows and evolves
- GraphicsMagick is a fork (21 years ago!) that aimed at interface stability and efficiency.
Both projects include the bindings, which eventually result in the
installation of Image::Magick
and Graphics::Magick
respectively.
Out of curiosity, I tried to compile both modules for a fairly recent version of Perl (v5.36). With… frustrating results.
First of all, there’s no way to install them from CPAN. It’s the
other way around: we compile the main thing, and the modules are
available (and installable) as a side effect. A sort of Alien, but
in reverse. This has its drawbacks, because tools like carton
and
cpanm
are out of the game.
ImageMagick complains a lot. Many errors have to do with input/output, so it might be related to some library that I forgot to include during configuration/compilation.
t/blob.t .......... ok
t/bzlib/read.t .... Failed 2/2 subtests
t/bzlib/write.t ... Failed 1/1 subtests
t/composite.t ..... Failed 1/18 subtests
t/filter.t ........ Failed 1/58 subtests
t/getattribute.t .. ok
t/jng/read.t ...... ok
t/jng/write.t ..... ok
t/jpeg/read.t ..... ok
t/jpeg/write.t .... ok
t/montage.t ....... ok
t/ping.t .......... ok
t/png/read-16.t ... ok
t/png/read.t ...... ok
t/png/write-16.t .. ok
t/png/write.t ..... ok
t/read.t .......... 1/47 Readimage (gradient:red-blue):
Exception 395: UnableToOpenConfigureFile `colors.xml'
@ warning/configure.c/GetConfigureOptions/722
at t/subroutines.pl line 317.
t/read.t .......... Failed 1/47 subtests
t/setattribute.t .. ok
t/tiff/read.t ..... ok
t/tiff/write.t .... ok
t/write.t ......... Failed 1/32 subtests
t/zlib/read.t ..... Failed 1/2 subtests
t/zlib/write.t .... Failed 1/1 subtests
GraphicsMagick complains too:
t/blob.t .......... ok
t/composite.t ..... ok
t/filter.t ........ ok
t/getattribute.t .. ok
t/jbig/read.t ..... ok
t/jbig/write.t .... ok
t/jng/read.t ...... ok
t/jng/write.t ..... ok
t/jpeg/read.t ..... ok
t/jpeg/write.t .... ok
t/montage.t ....... Failed 19/19 subtests
t/ping.t .......... ok
t/png/read-16.t ... ok
t/png/read.t ...... ok
t/png/write-16.t .. ok
t/png/write.t ..... ok
t/ps/read.t ....... ok
t/ps/write.t ...... ok
t/read.t .......... ok
t/setattribute.t .. ok
t/tiff/read.t ..... ok
t/tiff/write.t .... ok
t/ttf/read.t ...... ok
t/write.t ......... 1/? SetImageAttribute:
Extending attribute value text is deprecated!
(key="comment")
SetImageAttribute: Extending attribute value text
is deprecated! (key="comment")
t/write.t ......... ok
t/zlib/read.t ..... ok
t/zlib/write.t .... ok
Anyway, this seems to be a bug introduced in the very latest release (as of now, of course), properly tracked in a bug report.
Cheers!