Назад | Перейти на главную страницу

Как установить pecl spidermonkey на CentOS 6

Выполнение следующей команды:

> 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, предназначен для работать правильно. Так что меня все еще интересуют другие более квалифицированные ответы.