Поскольку Xapian был удален из репозиториев Ubuntu, я пытаюсь создать свой собственный .deb из приведенных здесь инструкций:
http://article.gmane.org/gmane.comp.search.xapian.general/8855
Я могу добиться прогресса только после первых нескольких секунд, не указав «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.