targzの日記: Debian 玄箱 で PHP5 パッケージを作る
Debian 化した玄箱に PHP5 を入れてみたのでメモメモ。
そもそも Debian の公式パッケージではまだ stable 版の PHP5 はありません。そこで dotdeb のパッケージを使ってみますが PowerPC バイナリがありません。じゃあ、ということでソースパッケージを入手します。
作業用ディレクトリに移動しておいて、
$ apt-get source php5
そして、make します。
$ cd php5-5.1.4
$ dpkg-buildpackage -rsudo -uc
ここで、必要なヘッダファイルが不足しているので、依存性問題が多数でるはずです。それらを全部 apt-get (または aptitude) でインストールします。
しかし、libming-dev だけは dotdeb からの配布なので PowerPC バイナリがなく、インストールできません。これもソースパッケージを入手します。
$ cd ..
$ apt-get source libming-0.3
このパッケージは debian/control ファイルにバグがあってビルドできないので修正します。
# 最後の方で libpng12 とリンクするのに、control ファイルで libpng2 を要求しているのが問題。
# libpng12 と libpng2 は排他関係があるので、apt-get install libpng12 してみると libpng2 が
# remove されてしまい、ビルド時の依存性問題で怒られるようになってしまいます。
- Build-Depends: debhelper (>> 3.0.0), swig, libungif4-dev, libpng2-dev, libz-dev
+ Build-Depends: debhelper (>> 3.0.0), swig, libungif4-dev, libpng12-dev, libz-dev
修正したらビルド。
$ cd libming-0.3
$ dpkg-buildpackage -rsudo -uc
できたパッケージをインストール。
$ cd ..
$ sudo dpkg -i libming_0.3-0.dotdeb.0_powerpc.deb libming-dev_0.3-0.dotdeb.0_powerpc.deb
やっと PHP5 がビルドできます。
$ cd php5-5.1.4
$ dpkg-buildpackage -rsudo -uc
--------------------
[追記 2006-05-25 00:31] 途中、config.sub がないと怒られてしまいます。展開されたファイルにすでにないので、(1)ソースパッケージの不良なのか、(2)途中で生成されるはずができてない、のどちらかでしょうか。さらに調査が必要なようです。
--------------------
[追記 2006-05-28 14:14] 一度 dpkg-buildpackage を実行して途中でエラーになると config.sub が消えてしまうようです。最初に PHP5 を作ろうとして ヘッダファイルがないとか libming がないとかで、その作業をしているときに消えてしまったのかもしれません。展開されたファイルを消して、再度 apt-get source php5 からやり直すとビルドが進みましたが、今度はメモリ不足でエラーになりました (玄箱/HG でも 128MB しか搭載してない)。余計なサービスを停止させてやり直しています。
--------------------
[追記 2006-05-30 03:56] やっと build 完成しました。build 途中で term の接続が切られてしまうことが多いんですが dpkg-buildpackage -rsudo -uc だと clean して最初からやり直してしまうので、いつまでたっても終了できません。 term が落ちたときは dpkg-buildpackage -rsudo -uc -nc として clean を回避して続きからやり直させ、term が落ちたらまた……を繰り返してやっと完成しました。ああ疲れた。あとは、dpkg -i で必要な deb ファイルをインストールすれば OK
Debian 玄箱 で PHP5 パッケージを作る More ログイン