在DV [mediatemple]上安装imagick - 不可能吗?

时间:2011-12-22 16:29:43

标签: php linux imagemagick imagick mediatemple

我在DV上安装了它

# convert -version
Version: ImageMagick 6.7.4-0 2011-12-21 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2011 ImageMagick Studio LLC
Features: OpenMP  

但不知何故,

#pecl install Imagick

让我误解。 ./configure没问题,它在make上出错,在100000行之后显示

make: *** [imagick_class.lo] Error 1

这是

上的错误返回的代码
checking whether to enable the imagick GraphicsMagick backend... no
    checking ImageMagick MagickWand API configuration program... found in /usr/local/bin/MagickWand-config
    checking if ImageMagick version is at least 6.2.4... found version 6.7.4 Q16
    checking for MagickWand.h header file... found in /usr/local/include/ImageMagick/wand/MagickWand.h
    checking PHP version is at least 5.1.3... yes. found 5.3.5
    Package MagickWand was not found in the pkg-config search path.
    Perhaps you should add the directory containing `MagickWand.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'MagickWand' found
    Package MagickWand was not found in the pkg-config search path.
    Perhaps you should add the directory containing `MagickWand.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'MagickWand' found
    checking for ld used by cc... /usr/bin/ld
    checking if the linker (/usr/bin/ld) is GNU ld... yes
    checking for /usr/bin/ld option to reload object files... -r
    checking for BSD-compatible nm... /usr/bin/nm -B
    checking whether ln -s works... yes
    checking how to recognise dependent libraries... pass_all
    checking for ANSI C header files... yes
    checking for sys/types.h... yes
    checking for sys/stat.h... yes
    checking for stdlib.h... yes
    checking for string.h... yes
    checking for memory.h... yes
    checking for strings.h... yes
    checking for inttypes.h... yes
    checking for stdint.h... yes
    checking for unistd.h... yes
    checking dlfcn.h usability... yes
    checking dlfcn.h presence... yes
    checking for dlfcn.h... yes
    checking for g77... no
    checking for f77... no
    checking for xlf... no
    checking for frt... no
    checking for pgf77... no
    checking for fort77... no
    checking for fl32... no
    checking for af77... no
    checking for f90... no
    checking for xlf90... no
    checking for pgf90... no
    checking for epcf90... no
    checking for f95... f95
    checking whether we are using the GNU Fortran 77 compiler... yes
    checking whether f95 accepts -g... yes
    checking the maximum length of command line arguments... 32768
    checking command to parse /usr/bin/nm -B output from cc object... ok
    checking for objdir... .libs
    checking for ar... ar
    checking for ranlib... ranlib
    checking for strip... strip
    checking if cc supports -fno-rtti -fno-exceptions... no
    checking for cc option to produce PIC... -fPIC
    checking if cc PIC flag -fPIC works... yes
    checking if cc static flag -static works... yes
    checking if cc supports -c -o file.o... yes
    checking whether the cc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
    checking whether -lc should be explicitly linked in... no
    checking dynamic linker characteristics... GNU/Linux ld.so
    checking how to hardcode library paths into programs... immediate
    checking whether stripping libraries is possible... yes
    checking if libtool supports shared libraries... yes
    checking whether to build shared libraries... yes
    checking whether to build static libraries... no
    configure: creating libtool
    appending configuration tag "CXX" to libtool
    appending configuration tag "F77" to libtool
    checking if libtool supports shared libraries... yes
    checking whether to build shared libraries... yes
    checking whether to build static libraries... no
    checking for f95 option to produce PIC... -fPIC
    checking if f95 PIC flag -fPIC works... yes
    checking if f95 static flag -static works... yes
    checking if f95 supports -c -o file.o... yes
    checking whether the f95 linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
    checking dynamic linker characteristics... GNU/Linux ld.so
    checking how to hardcode library paths into programs... immediate
    configure: creating ./config.status
    config.status: creating config.h
    running: make
    /bin/sh /var/tmp/pear-build-root/imagick-3.0.1/libtool --mode=compile cc  -I. -I/root/tmp/pear/temp/imagick -DPHP_ATOM_INC -I/var/tmp/pear-build-root/imagick-3.0.1/include -I/var/tmp/pear-build-root/imagick-3.0.1/main -I/root/tmp/pear/temp/imagick -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib  -DHAVE_CONFIG_H  -g -O2   -c /root/tmp/pear/temp/imagick/imagick_class.c -o imagick_class.lo
    mkdir .libs
     cc -I. -I/root/tmp/pear/temp/imagick -DPHP_ATOM_INC -I/var/tmp/pear-build-root/imagick-3.0.1/include -I/var/tmp/pear-build-root/imagick-3.0.1/main -I/root/tmp/pear/temp/imagick -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /root/tmp/pear/temp/imagick/imagick_class.c  -fPIC -DPIC -o .libs/imagick_class.o
    In file included from /root/tmp/pear/temp/imagick/imagick_class.c:21:
    /root/tmp/pear/temp/imagick/php_imagick.h:49:31: error: wand/MagickWand.h: No such file or directory
    In file included from /root/tmp/pear/temp/imagick/imagick_class.c:22:
    /root/tmp/pear/temp/imagick/php_imagick_defs.h:72: error: expected specifier-qualifier-list before 'MagickWand'
    /root/tmp/pear/temp/imagick/php_imagick_defs.h:80: error: expected specifier-qualifier-list before 'DrawingWand'
    /root/tmp/pear/temp/imagick/php_imagick_defs.h:86: error: expected specifier-qualifier-list before 'PixelIterator'
    /root/tmp/pear/temp/imagick/php_imagick_defs.h:98: error: expected specifier-qualifier-list before 'PixelWand'
    /root/tmp/pear/temp/imagick/php_imagick_defs.h:105: error: expected ')' before '*' token
    /root/tmp/pear/temp/imagick/php_imagick_defs.h:117: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'php_imagick_read_image_using_imagemagick'
    /root/tmp/pear/temp/imagick/php_imagick_defs.h:119: er

真的?不可能?我究竟做错了什么?

3 个答案:

答案 0 :(得分:1)

我写错了上面的错误(找不到魔杖/ MagickWand.h)

pecl install imagick

在config.m4文件中进行了一些搜索之后,我发现包含dirs是(自动)使用“$ WAND_BINARY --cflags”找到的,其中$ WAND_BINARY可能是f.ex.是/ usr / local / bin / Wand-config。

无论如何,当我试图从命令行运行它时,我被告知无法找到pkg-config。所以我需要做的就是安装pkg-config。我在Debian上运行,所以我只需要编写

apt-get install pkg-config

之后,一切正常!

答案 1 :(得分:0)

嗯,所以在

之后
uname -a

我发现我在64台计算机上,所以已经用

删除了所有32个安装的rpms
rpm -e package-xyz.rpm

然后从这里得到正确的buids:ftp://ftp.pbone.net/mirror/centos.karan.org/el5/misc/testing/x86_64/RPMS/ftp://ftp.pbone.net/mirror/centos.karan.org/el5/extras/testing/x86_64/RPMS/(extras镜像有imagemagick devel需要的jasper库)这里使用wget并使用rpm -Uvh package-xyz.rpm package2安装-abc.rpm ...(很好,这里完​​成的程序相同,但有64个文件http://www.ndchost.com/wiki/server-administration/imagick-class-error

通过“pecl install Imagick”的安装按预期进行,剩下的步骤就是为php启用它:

echo "extension=imagick.so" > /etc/php.d/imagick.ini

重启httpd:

/etc/init.d/httpd restart

并检查一切是否正常加载:

php -m | grep imagick

完成!希望这可以帮助有人尝试在mediatemple centos dv机器上设置imagemagick。干杯!

答案 2 :(得分:-1)

我已经过去了从这个问题来看,从tmp dir安装w noexec问题,等等&等等。

但是,似乎yum很容易解决这个问题:

yum install php-pecl-imagick

然后重启apache,问题就解决了。