@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 и установка пошла туда, но валится с той же ошибкой.
  • Вопрос задан
  • 1361 просмотр
Решения вопроса 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
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
BeGroup Москва
До 150 000 ₽
BeGroup Москва
До 100 000 ₽
LAPTOP.RU Кострома
от 25 000 до 65 000 ₽
01 мар. 2021, в 13:49
30000 руб./за проект
01 мар. 2021, в 13:30
500 руб./за проект