PHP 5.1.6 の時の作業記録は こちら。
Debian sarge で提供されている PHP はバージョンが 4.3.10 であるため、 PHP5 を使いたい場合は、testing のパッケージを使ったり、 Dotdeb 版のパッケージを使ったりする。 しかし、Dotdeb 版のパッケージは i386 と AMD64 用のものしか用意されておらず、 他のアーキテクチャのマシンでは利用することができない。 Debian 化した玄箱 でも Dotdeb 版のパッケージを使いたいので、 自分でソースパッケージからビルドしてみることにする。
なお、クロスコンパイルすることも不可能ではないと思うが、 私は途中で挫折した *1 ので、ここではセルフコンパイルの方法についてのみ説明する。
/etc/apt/sources.list に以下の設定を追加 *2。
deb http://packages.dotdeb.org/ stable all deb-src http://packages.dotdeb.org/ stable all
パッケージのリストを更新。
# aptitude update
PHP5 のビルドに必要なパッケージのうち、 libming と libming-dev は Dotdeb が提供するパッケージなので、 i386, AMD64 用のパッケージしか用意されていない。 それ以外のアーキテクチャの場合は自分でビルドする。
libming のビルドに必要なパッケージをインストール。
# apt-get build-dep libming # aptitude install bison # aptitude install flex
libming のソースパッケージをダウンロード。
$ apt-get source libming
以下の3つのファイルがダウンロードされる。
ソースが libming-0.3 ディレクトリに展開されるので、そこに移動。
$ cd libming-0.3
config.make の LIBS の行が間違っているので、以下のように -lpng12 を -lpng に修正 *3。
--- config.make.orig +++ config.make @@ -2,5 +2,5 @@ EXTRA_OBJS = gifdbl.o pngdbl.o # zlib required for both image formats and for compressed swf6 -LIBS = -lz -lungif -lpng12 +LIBS = -lz -lungif -lpng EXTRA_LIBS = ${LIBS}
以下のコマンドを実行し、パッケージをビルド。
$ debuild -rfakeroot -us -uc
ビルド後の Lintian のチェックでエラーが出るが、 とりあえず無視して、ビルドしたパッケージをインストール。
# debi
PHP5 のビルドに必要なパッケージをインストール。 インストール時に聞かれる質問には、デフォルトの選択肢を選んでおけばよい。
# apt-get build-dep php5
PHP5 のソースパッケージをダウンロード。
$ apt-get source php5
以下の3つのファイルがダウンロードされる。
ソースが php5-5.2.1 ディレクトリに展開されるので、そこに移動。
$ cd php5-5.2.1
以下のコマンドを実行し、パッケージをビルド。
$ debuild -rfakeroot -us -uc
ビルド後の Lintian のチェックでエラーが出ていないことを確認 *4。