Выполнение следующей команды:
> sudo pecl install spidermonkey
Я получаю следующую ошибку:
...
... a bunch of successful checks ...
...
checking whether to enable spidermonkey support... yes, shared
configure: error: jsapi.h not found. Please reinstall libjs.
ERROR: `/var/tmp/spidermonkey/configure' failed
Я попытался решить проблему, установив js-devel, который после борьбы с различными репозиториями yum я наконец сделал вручную вот так:
> wget http://pkgs.repoforge.org/js/js-1.60-1.el6.rf.x86_64.rpm
> wget http://pkgs.repoforge.org/js/js-devel-1.60-1.el6.rf.x86_64.rpm
> yum install js-1.60-1.el6.rf.x86_64.rpm
> yum install js-devel-1.60-1.el6.rf.x86_64.rpm
(Не знаю, почему js-devel требовал, чтобы сначала был установлен js ... но он пожаловался, когда я попытался установить js-devel solo.)
Повторный запуск pecl install
, Я получаю ту же ошибку. Насколько я понимаю, пакет js-devel содержит файлы libjs просто неверно? Есть ли дополнительные шаги? Или мне нужно искать в другом месте, чтобы получить libjs?
ДОБАВЛЕНИЕ: Я также попытался удалить указанные выше пакеты (используя yum) и установить эти сборки:
> wget http://puias.math.ias.edu/data/puias/6/x86_64/os/Addons/js-1.70-12.puias6.x86_64.rpm
> yum install js-1.70-12.puias6.x86_64.rpm
> wget http://puias.math.ias.edu/data/puias/6/x86_64/os/Addons/js-devel-1.70-12.puias6.x86_64.rpm
> yum install js-devel-1.70-12.puias6.x86_64.rpm
Никаких кубиков. Интерпретатор командной строки js работает отлично. Но PECL дает ту же ошибку.
Хотя это не решает проблему некорректной установки пакета с помощью диспетчера пакетов, шаги, описанные в этой статье, оставили у меня spidermonkey, корректно работающий в PHP:
http://devzone.zend.com/1480/using-javascript-in-php-with-pecl-and-spidermonkey/
На мой взгляд, это обходной путь. Я предполагаю, что пакет PECL, установленный через диспетчер пакетов pecl, предназначен для работать правильно. Так что меня все еще интересуют другие более квалифицированные ответы.