如何告诉cpanm Image :: Magick关于标题位置?

时间:2012-10-21 09:22:30

标签: macos perl installation imagemagick cpan

On OS X cpanm Image :: Magick失败

  

Magick.xs:60:10:致命错误:找不到'magick / MagickCore.h'文件

     

#include< magick / MagickCore.h>

但文件存在。 (这个空间来自我,让它显示在这里。)

如何告诉cpanm和/或Image :: Magick在哪里找到这些标题?

(IM从源代码安装。)

3 个答案:

答案 0 :(得分:2)

解决方法:下载模块,编辑Makefile.PL(添加标题目录到包含),make,make install,如imagemagick主页上所写。

答案 1 :(得分:0)

虽然问题相当陈旧,但我最近仍然遇到了这个问题。

我能够通过自制安装的新ImageMagick(cpan安装版本6.9.5-3)解决此问题,然后启动JCRISTY/PerlMagick-6.89-1.tar.gz并安装look Image::Magick软件包。

测试部分失败。因此,我分析了哪些测试失败并决定作弊(我不需要所有的ImageMagick功能)。我手动编辑了测试文件(使用input.miff进入未归档的软件包) - 对我来说,需要完全注释掉t/filter.t的测试( reference / filter / Segment.miff )在t/mpeg/read.t中并测试{{1}}中的MPEG读取。然后cpan最终能够处理 Image :: Magick

我在一组GIF和PNG图像上运行我自己的测试,这些都没问题。希望这有助于某人。

答案 2 :(得分:0)

也许有点晚了,但是如果找到了一种安装Image :: Magick的方法。

  1. 尝试通过cpanm安装Image :: Magick

    cpanm -n Image::Magick
    
  2. 找到cpanm下载PerlMagick-6.89-1.tar.gz的目录

  3. 会有一个名为PerlMagick-6.89-1的目录
  4. 在此目录中,打开Makefile.PL并找到以“ my $ INC_magick”开头的行。
  5. 用以下内容替换以下行:

    my $INC_magick = '-I/usr/local/Cellar/imagemagick@6/6.9.10-6/include/ImageMagick-6 -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/usr/include/libxml2 -I"' . $Config{'usrinc'} . '/ImageMagick-6"';
    my $LIBS_magick = '-L/usr/local/lib -lMagickCore-6.Q16 -lperl -lm';
    my $CCFLAGS_magick = "$Config{'ccflags'} -I/usr/include/freetype2 -g -O2 -Wall -pthread -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16";
    my $LDFLAGS_magick   = "-L/usr/local/Cellar/imagemagick\@6/6.9.10-6/lib -lMagickCore-6.Q16 $Config{'ldflags'} ";
    my $LDDLFLAGS_magick = "-L/usr/local/Cellar/imagemagick\@6/6.9.10-6/lib -lMagickCore-6.Q16 $Config{'lddlflags'} ";
    

我必须替换变量$ INC_magick,$ LDFLAGS_magick,$ LDDLFLAGS_magick的值

  1. 编辑后运行

    perl Makefile.PL
    make
    make install
    

如果使用perlbrew,请确保首先激活所需的perl安装。