このページをDeliciousに追加 このページをはてなブックマークに追加 このページをlivedoor クリップに追加 このページをYahoo!ブックマークに追加

* PHP5 の sarge 用パッケージのビルド [#v633de49]

** 目次 [#x357207c]

#contentsx

PHP 5.1.6 の時の作業記録は [[こちら>Debian/パッケージのビルド/PHP5/5.1.6]]。


** Dotdeb 版の PHP5 について [#vb9912f7]

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

なお、クロスコンパイルすることも不可能ではないと思うが、
私は途中で挫折した
((150 個以上のライブラリを手作業でインストールしたり、configure が止まってしまう箇所を修正するなど、おそろしく面倒。))
ので、ここではセルフコンパイルの方法についてのみ説明する。


** APT の設定 [#d1eabe43]

/etc/apt/sources.list に以下の設定を追加
((i386, AMD64 以外のアーキテクチャの場合は、deb の設定は無意味なので deb-src の設定だけでよい。))。

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

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

 # aptitude update
{{{
# aptitude update
}}}


** libming のパッケージのビルド [#c12359dc]

PHP5 のビルドに必要なパッケージのうち、
libming と libming-dev は Dotdeb が提供するパッケージなので、
i386, AMD64 用のパッケージしか用意されていない。
それ以外のアーキテクチャの場合は自分でビルドする。

libming のビルドに必要なパッケージをインストール。

 # apt-get build-dep libming
 # aptitude install bison
 # aptitude install flex
{{{
# apt-get build-dep libming
# aptitude install bison
# aptitude install flex
}}}

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

 $ apt-get source 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
{{{
$ cd libming-0.3
}}}

config.make の LIBS の行が間違っているので、以下のように -lpng12 を -lpng に修正
((とりあえずこのように直したが、libpng-12 を使うように全体を修正した方が良い気もする。))。

<<< diff
{{{ diff
--- 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
{{{
$ debuild -rfakeroot -us -uc
}}}

ビルド後の Lintian のチェックでエラーが出るが、
とりあえず無視して、ビルドしたパッケージをインストール。

 # debi
{{{
# debi
}}}


** PHP5 のパッケージのビルド [#lec4f572]

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

 # apt-get build-dep php5
{{{
# apt-get build-dep php5
}}}

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

 $ apt-get source 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
{{{
$ cd php5-5.2.1
}}}

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

 $ debuild -rfakeroot -us -uc
{{{
$ debuild -rfakeroot -us -uc
}}}

ビルド後の Lintian のチェックでエラーが出ていないことを確認
((ちなみにビルドに掛かった時間は、手元の PC で約45分、玄箱/HG で6時間半程度。))。

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