パスワードを忘れた? アカウント作成
402190 journal

targzの日記: Debian 玄箱 で PHP5 パッケージを作る

日記 by targz

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

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

コンピュータは旧約聖書の神に似ている、規則は多く、慈悲は無い -- Joseph Campbell

読み込み中...