Вопрос

Я просмотрел все результаты Google, прочитал все сообщения на форуме об этой ошибке, но не могу ее решить.

При использовании установки PECL для чего-либо я всегда получаю эту ошибку:

checking whether the C compiler works... configure: error: cannot run C compiled programs.

Все остальное удается до этого момента, бац!

Я использую CentOS 4.3, PEAR — последняя стабильная версия, GCC — стабильная и последняя версия.Все работает как надо, но компилятор C всегда выдает ошибку.Я попытался предоставить tmp необходимые привилегии для этой операции, временно включив его, используя:

mount -o remount,exec,suid /tmp

Но это не работает.

Я буквально перепробовал все, что предлагали, но безрезультатно.Есть идеи?

Это было полезно?

Решение 2

cd ~
mkdir setups
cd setups
wget http://pecl.php.net/get/APC-3.1.2.tgz
tar -xvf APC-3.1.2.tgz
cd APC-3.1.2
phpize && ./configure --with-apxs && make

Я быстро это написал и смог установить APC, приложив немного усилий вручную.Например, копирование модуля в модули PHP и добавление расширения в php.ini.Сейчас работает отлично.

Другие советы

Я использую Centos 5.3, и мне удалось успешно запустить установщики PECL (в моем случае APC), удалив флаг noexec в обоих файлах /tmp. и /вар/тмп

mount -o remount,exec,suid /tmp
mount -o remount,exec,suid /var/tmp

Выполнение этого только в /tmp не помогло — я все равно получал сообщение об ошибке «проверка работы компилятора C...».настроить:ошибка:не может запускать программы, скомпилированные на языке C».

Не забудьте снова запустить эти перемонтирования с помощью noexec после завершения установки.

Когда у меня возникли аналогичные проблемы с установкой драйвера MongoDB, у меня это сработало:

sudo mkdir /root/tmp.pear
sudo mkdir /root/tmp.pear-build-root

sudo ln -s /root/tmp.pear /tmp/pear
sudo ln -s /root/tmp.pear-build-root /tmp/pear-build-root

Затем:

sudo sudo pecl install XXX

(Это не создает дыры в безопасности, поскольку только root может создавать исполняемые файлы в этих двух каталогах.)

Обратите внимание, что следующее нет работа в PECL:

sudo pear config-set temp_dir /var/tmp/pear/temp
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top