makefile — модуль php: невозможно открыть общий объектный файл: нет такого файла или каталога

Я пытаюсь установить XSLT-парсер Saxon-C с его PHP-модулем на моем сервере, как описано здесь: http://www.saxonica.com/saxon-c/index.xml. Я успешно установил его и скомпилировал модуль PHP. Может быть, кто-то из вас может иметь представление о том, что происходит не так.

При запуске apache я получаю следующую ошибку:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/saxon.so' -
libsaxon.so: cannot open shared object file: No such file or directory in Unknown on line 0

Я знаю, что это поиск в библиотеке LD.

more /etc/ld.so.conf.d/jetvm.conf
/opt/saxon/rt/lib/amd64
/opt/saxon/rt/lib/amd64/jetvm

tail -n 1 /etc/apache2/envvars
export LD_LIBRARY_PATH=/opt/saxon/rt/lib/amd64:/opt/saxon/rt/lib/amd64/jetvm:$LD_LIBRARY_PATH

echo $LD_LIBRARY_PATH
/opt/saxon/rt/lib/amd64:/opt/saxon/rt/lib/amd64/jetvm/

Кажется, все правильно. Я также дважды проверил, что все Пути существуют.

Я уже проверил следующие темы (и многое другое), которые не могли мне помочь:

После нескольких часов безуспешных попыток, я действительно надеюсь, что кто-то может помочь мне здесь. Может быть, решение вполне дамп. У меня мало опыта работы с языками, которые нужно компилировать, поэтому я могу лишь смутно понимать, что здесь происходит.

Большое спасибо заранее и наилучшие пожелания.

1

Решение

поиск проблемы Руководство дает некоторые подсказки к этой проблеме:

Выполните следующую команду, чтобы устранить ошибку: «$ sudo ldconfig». Или создайте символическую ссылку на виртуальную машину Java. Это не требуется для установки / компиляции, но это требуется для кода PHP. Следующее должно решить проблему на 64-битной машине:

ln -s $ JAVA_HOME / jre / lib / amd64 / server / libjvm.so /lib64/libjvm.so

В качестве альтернативы можно связать libjvm.so из каталога rt / lib / jetjvm.

1

Другие решения

Файл libsaxon.so должен быть установлен в каталоге / usr / lib.
В следующем выпуске мы предпринимаем шаги для использования переменной среды.

0

С дружественной помощью ond1, который является одним из разработчиков Saxon, я наконец нашел решение. Очевидно, что некоторые пути жестко запрограммированы, поэтому вы должны игнорировать вопрос установщика, куда поместить файлы и установить его в / usr / lib.

Я удалил предыдущую установку, установил в / usr / lib и скомпилировал оттуда — и теперь это работает.

0
По вопросам рекламы [email protected]