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

Кому-нибудь удалось собрать php5-xapian на Ubuntu 12.04?

Поскольку Xapian был удален из репозиториев Ubuntu, я пытаюсь создать свой собственный .deb из приведенных здесь инструкций:

http://article.gmane.org/gmane.comp.search.xapian.general/8855

http://beeznest.wordpress.com/2011/07/06/howto-build-your-own-binaries-of-php-xapian-bindings-for-debian/

Я могу добиться прогресса только после первых нескольких секунд, не указав «rm debian / control», но если я это сделаю, то, похоже, привязки Python и Ruby строятся и передают свои версии Smoketest правильно.

Однако часть сборки PHP выдает эту ошибку:

/home/charlie/xapian-bindings-1.2.8/php/smoketest.php:38: include(xapian.php): failed to open stream: No such file or directory
FAIL: smoketest.php

В /home/charlie/xapian-bindings-1.2.8/php/php5/ есть файл xapian.php, но если я скопирую его в /home/charlie/xapian-bindings-1.2.8/php/ или изменим путь к это в smoketest.php, сборка завершается ошибкой в ​​самом начале с:

dpkg-source: error: aborting due to unexpected upstream changes

К сожалению, я выхожу из зоны комфорта, строя из исходников. У кого-нибудь есть идеи?

Отредактировать сообщение Джеймса:

Строится нормально, если я точно следую инструкциям. Сначала я построил его на тестовой виртуальной машине, но пакет PHP не был собран, поскольку сам PHP не был установлен. Очевидная ошибка, но стоит упомянуть.

При установке возникла следующая ошибка:

Setting up php5-xapian (1.2.8-1) ...
Processing triggers for libapache2-mod-php5 ...
dpkg (subprocess): unable to execute installed post-installation script (/var/lib/dpkg/info/libapache2-mod-php5.postinst): Permission denied                                                               ssion denied
dpkg: error processing libapache2-mod-php5 (--install):
 subprocess installed post-installation script returned error exit status 2
Errors were encountered while processing:
 libapache2-mod-php5

Это всего лишь скрипт для перезапуска Apache. Остановка Apache перед запуском sudo dpkg -i php5-xapian _ *. Deb предотвращает ошибку. Xapian теперь отображается в phpinfo (). Работа выполнена. Спасибо.

Проблема в том, что система сборки Debian строится в отдельном каталоге для исходных файлов, и этот подход в настоящее время имеет проблему с запуском Smoketest привязок PHP. Пока это не будет исправлено должным образом, вы можете заставить все работать, выполнив следующие команды (адаптированные из FAQ Xapian по привязкам PHP для Debian и Ubuntu, которые основаны на информации, которую вы уже нашли):

sudo apt-get build-dep xapian-bindings
sudo apt-get install php5-dev php5-cli devscripts
apt-get source xapian-bindings
cd xapian-bindings-1.2.*
rm -f debian/control debian/*-stamp
env PHP_VERSIONS=5 debian/rules maint
sed -i 's/include_path=php5$/include_path=$(srcdir)\/php5/' php/Makefile.in
dpkg-source --commit

На этом этапе вам будет предложено ввести имя патча (используйте что-то вроде fix-php-buildtests), а затем выгрузите его в редактор для документирования патча, но вас это не волнует, поэтому вы можете просто сохранить и выйти из редактора. . Затем:

debuild -e PHP_VERSIONS=5 -us -uc 
cd ..
sudo dpkg -i php5-xapian_*.deb

И вы сделали.

Тема списка рассылки, посвященная этой проблеме, еще не появилась в GMane, но он доступен в архиве почтальона Xapian.