有没有人设法在Ubuntu 12.04上构buildphp5-xapian?

由于Xapian已经从Ubuntu存储库中删除了,我试图从这里的说明构build我自己的.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绑定正在构build并正确传递其烟雾testing版本。

但是,构build的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/,或将path更改为它在smoketest.php,构build失败的权利,开始附近:

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

不幸的是我从源头上离开了我的舒适区。 任何人有任何想法?

编辑postJames的回答:

如果我完全按照说明build立罚款。 我最初构build在一个testing虚拟机上,但是由于PHP本身没有安装,所以没有构buildPHP包。 显而易见,但值得一提的是。

安装生成如下错误:

 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构build系统build立在一个单独的目录到源文件,这种方法目前有一个运行PHP绑定smoketest的问题。 在这个问题得到解决之前,你可以通过运行下面的命令(根据你已经find的信息根据Debian和Ubuntu的PHP绑定的Xapian常见问题改编而成):

 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 

此时,系统会提示您input修补程序名称(使用类似fix-php-buildtests的内容),然后将其转储到编辑器中以logging修补程序,但是您并不关心该修补程序,因此您可以保存并退出编辑器。 然后:

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

你完成了。

处理这个问题的邮件列表线程还没有出现在GMane中,但它在Xapian邮件存档中是可用的 。