@xskif

CentOS php-imagick выдает ошибку компиляции при установке. Что делать?

При попытке поставить imagick через pecl выдает следующее.
# pecl install imagick
downloading imagick-3.1.2.tgz ...
Starting to download imagick-3.1.2.tgz (94,657 bytes)
.....................done: 94,657 bytes
15 source files, building
running: phpize
Configuring for:
PHP Api Version:         20100412
Zend Module Api No:      20100525
Zend Extension Api No:   220100525
Please provide the prefix of Imagemagick installation [autodetect] : 
building in /var/tmp/pear-build-rootTLr9lD/imagick-3.1.2
running: /var/tmp/imagick/configure --with-imagick
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for a sed that does not truncate output... /usr/bin/sed
checking for cc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... configure: error: in `/var/tmp/pear-build-rootTLr9lD/imagick-3.1.2':
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details
ERROR: `/var/tmp/imagick/configure --with-imagick' failed


Пробовал обойти через chroot и mount временных директорий (/tmp , /var/tmp) как советуют здесь. Не выходит. Более того, mount | grep /tmp изначально выдает пустой ответ. То есть, нельзя перемонтировать в rw, установить imagick, а потом обратно. Пробовал примонтировать вручную с установкой только rw, не помогло. Поменял права на 777 для обеих /tmp директорий, не помогло так же. Не знаю что делать дальше. Нужно поставить imagick так как GD не работает с BMP форматами.

UPD: Изменил временную директорию для PEAR через pear config-set temp_dir /root/tmp и установка пошла туда, но валится с той же ошибкой.
  • Вопрос задан
  • 1466 просмотров
Решения вопроса 1
@xskif Автор вопроса
Решил проблему сам:
1. Полез /tmp/pear , там лежат архивы скаченных расширений.
2. Распаковал imagick.tgz
3. Запустил phpize для проверки потом ./configure который выдал мне те же ошибки, но сохранил config.log.
4. Полез читать лог (в который раз убеждаюсь в их полезности) в логе было написано компиляция валится из-за того, что компилятор не может найти stdio.h.
5. Полез в /usr/include - действительно нет файла, но g++ и gcc установлены.
6. Еле нагугли ответ для CentOS. Советуют поставить glibc-headers.
7. yum install glibc-headers
8. pecl install imagick
9. PROFIT!
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Weidmann
yum groupinstall "Development Tools"
Покажите еще вывод df, dmesg
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы