web-dev-qa-db-ja.com

Ubuntu 12.04でphp5-xapianをビルドできた人はいますか?

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 and Rubyバインディングは、スモークテストのバージョンを正しく構築して合格しています。

ただし、ビルドの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

残念ながら、私はソースから自分の快適ゾーンの建物の外にいます。誰かアイデアがありますか?

投稿ジェームズの答えを編集する:

指示に正確に従えば、正常にビルドされます。最初はテストVMでビルドしましたが、PHPパッケージはPHP自体ではありませんでした。 tがインストールされています。明らかな落とし穴ですが、言及する価値があります。

インストールすると、次のエラーが発生しました。

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()に表示されるようになりました。仕事は終わりました。ありがとう。

4
jetboy

問題は、Debianビルドシステムがソースファイルとは別のディレクトリにビルドされることであり、そのアプローチでは現在、PHPバインディングスモークテストの実行に問題があります。これが適切に修正されるまで、次のことが可能です。次のコマンドを実行することで機能するもの( Xapian FAQ on 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 mailmanアーカイブで入手できます

4
James Aylett