最終更新: 2007-02-11 (日) 23:46:31
このページをDeliciousに追加 このページをはてなブックマークに追加 このページをlivedoor クリップに追加 このページをYahoo!ブックマークに追加

PHP5 の sarge 用パッケージのビルド

目次

PHP 5.1.6 の時の作業記録は こちら

Dotdeb 版の PHP5 について

Debian sarge で提供されている PHP はバージョンが 4.3.10 であるため、 PHP5 を使いたい場合は、testing のパッケージを使ったり、 Dotdeb 版のパッケージを使ったりする。 しかし、Dotdeb 版のパッケージは i386 と AMD64 用のものしか用意されておらず、 他のアーキテクチャのマシンでは利用することができない。 Debian 化した玄箱 でも Dotdeb 版のパッケージを使いたいので、 自分でソースパッケージからビルドしてみることにする。

なお、クロスコンパイルすることも不可能ではないと思うが、 私は途中で挫折した *1 ので、ここではセルフコンパイルの方法についてのみ説明する。

APT の設定

/etc/apt/sources.list に以下の設定を追加 *2

deb http://packages.dotdeb.org/ stable all
deb-src http://packages.dotdeb.org/ stable all

パッケージのリストを更新。

# aptitude update

libming のパッケージのビルド

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.orig.tar.gz
  • libming_0.3-0.dotdeb.1.diff.gz
  • libming_0.3-0.dotdeb.1.dsc

ソースが 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 のパッケージのビルド

PHP5 のビルドに必要なパッケージをインストール。 インストール時に聞かれる質問には、デフォルトの選択肢を選んでおけばよい。

# apt-get build-dep php5

PHP5 のソースパッケージをダウンロード。

$ apt-get source php5

以下の3つのファイルがダウンロードされる。

  • php5_5.2.1.orig.tar.gz
  • php5_5.2.1-0.dotdeb.1.diff.gz
  • php5_5.2.1-0.dotdeb.1.dsc

ソースが php5-5.2.1 ディレクトリに展開されるので、そこに移動。

$ cd php5-5.2.1

以下のコマンドを実行し、パッケージをビルド。

$ debuild -rfakeroot -us -uc

ビルド後の Lintian のチェックでエラーが出ていないことを確認 *4

*1 150 個以上のライブラリを手作業でインストールしたり、configure が止まってしまう箇所を修正するなど、おそろしく面倒。
*2 i386, AMD64 以外のアーキテクチャの場合は、deb の設定は無意味なので deb-src の設定だけでよい。
*3 とりあえずこのように直したが、libpng-12 を使うように全体を修正した方が良い気もする。
*4 ちなみにビルドに掛かった時間は、手元の PC で約45分、玄箱/HG で6時間半程度。

(Counter:1, Today:1, Yesterday:0)
トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   最終更新のRSS