由于Xapian已从Ubuntu存储库中删除,我正在尝试根据此处的说明构建自己的.deb:
http://article.gmane.org/gmane.comp.search.xapian.general/8855
我只能通过省略’rm debian / control’来让事情超越前几秒,但是如果我这样做,看起来好像Python和Ruby绑定正在构建并正确传递他们的smoketest版本.
/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
不幸的是,我从源头上走出了我的舒适区.有人有任何想法吗?
编辑詹姆斯的回答:
如果我完全遵循指示,建立良好.我最初在测试VM上构建它,但是没有构建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的脚本.在运行sudo dpkg -i PHP5-xapian _ * .deb之前停止Apache会阻止错误. Xapian现在出现在PHPinfo()中.任务完成.谢谢.
问题是Debian构建系统在源文件的单独目录中构建,并且该方法目前在运行PHP绑定smoketest时存在问题.在正确修复之前,您可以通过运行以下命令(根据您已经找到的信息改编自
the Xapian FAQ on PHP bindings for Debian & Ubuntu)来完成工作:
原文链接:https://www.f2er.com/ubuntu/347968.htmlsudo 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中,但是it’s available in the Xapian mailman archive.