我在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
真的?不可能?我究竟做错了什么?
答案 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个安装的rpmsrpm -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,问题就解决了。