Установка imagick на DV [mediatemple] - невозможно? - PullRequest
1 голос
/ 22 декабря 2011

У меня установлено на моем 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 ]

1 голос
/ 13 января 2012

Я получил ту же ошибку, что и выше (он не мог найти wand / MagickWand.h), когда писал

pecl install imagick

После некоторого поиска в файле config.m4 я обнаружил, что includeкаталоги (автоматически) находятся с помощью $ WAND_BINARY --cflags, где $ WAND_BINARY может быть f.ex.be /usr/local/bin/Wand-config.

В любом случае, когда я пытался запустить это из командной строки, мне сказали, что он не может найти pkg-config.Так что все, что мне нужно было сделать, это установить pkg-config.Я работаю на Debian, поэтому мне просто нужно было написать

apt-get install pkg-config

После этого все заработало!

0 голосов
/ 12 ноября 2012

Я ходил по кругу с этим, из-за проблем с tmp dir-монтированием, без проблем и т. Д. И т. Д.

Но, похоже, проблему легко решить с помощью yum:

yum install php-pecl-imagick

Затем перезапустите Apache, и проблема была решена для меня.

0 голосов
/ 23 декабря 2011

Ну так после

uname -a

Я узнал, что я на 64-й машине, поэтому удалил все 32 установленных rpms с

rpm -e package-xyz.rpm

Затем получил правильные биды отсюда: 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/ (здесь зеркало дополнений имеет библиотеки jasper, необходимые для imagemagick devel), здесь используется 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

Готово! Надеюсь, что это помогает кому-то, пытающемуся установить imagemagick на средних машинах centos dv. Ура!

...