2009年1月9日金曜日

Firefox3 on Debian etch 2 of 2

画像ライブラリビルド

しょうがないのでjpeg, tiff, pngの最新版をビルド。
jpegの共有ライブラリ(libjpegとかそんなの)はmake installではなく、make install-libを実行しないと
インストールされないらしい。
はまった...

gtk+ ビルド
  • jpegとtiffのヘッダファイルはhome/includeに直接置かれるので、CPPFLAGSに追加
  • jasper(JPEG2000)が無いと言われるが、withoutする。
  • gdk-pixbufのmakeで、gdk-pixbuf-enum-types.hだか何かでこける...なぜだー
    • どうもglib-mkenums(ヘッダを自動出力するPerlスクリプト)へのパスが/usr/binなので、これがいかんようである。PATHをglibをインストールした場所を先に読むようにする(つまりprefixのbin)。
      • PATH変更後もうまくいかない...
    • gtk+のソースを全削除、再展開してやってみることに。
      • うまくいったようだ...
gdk-pixbufの件はよく解らない。ググってもちゃんとした回答を得られている人が少ないようだったのでよしとしよう。

懸案事項として、ximをenableにしていない(デフォルトどっちなのか...)つまりこのgtk+では日本語入力があやしいかもしれない。

Firefox3ビルド
  • libIDLが無いといわれる。mozillaサイトからダウンロード。
    • libIDLのビルドでflex/lexが無いと言われる。debianパッケージでインストール。
    • flexインストールしconfigure成功するも、makeで失敗。うーん。
    • bisonが入っていなかったのが問題だった様子。
    • 念のため?libIDLも最新版(0.8.12)をビルドして使うことにする。
  • configureでsys/inttypes.hがどうのこうのと言われるが、libxt-devパッケージをインストールすることで解消。
makeのあとmake packageでtar玉が作成できるようだ。こりゃ便利。

で、tar玉をテキトーな場所で展開して、LD_LIBRARY_PATHをgtk+2.14がインストールされているディレクトリに通してあげて./firefox/firefoxを実行。
ちゃんと起動しましたよ、はい。
独自ビルドのFirefoxはMinefieldと呼ばれるらしい。なるほどね。

そういやcurlが無いんでcrashreporterをdisableにしてしまった。
これはあとでやり直しかな。

☆ ☆ ☆

独自ビルドの利点ってなんだろう?と思う。

Debianだとパッケージで準備されているものが古い(=こなれた)ものばかりなので、最新のものを使いたい!となると独自ビルドするのが常になるわけだ。これは立派な理由になる。

独自だと速い、ということもあるだろうが、そんなに違うのかな?
Linuxカーネルで要らないドライバを削除してモノリシックにくみ上げたら速くなるのは解るけど...今度Firefoxで計測してみよう。

なによりソフトウェアの依存関係がはっきりしたりとか、理解できたりするのが良いことなんじゃないかなぁ。構成管理とかパッケージメンテナって大変だよなって思う。
現にgtk.orgで入手できる依存相手のライブラリって古すぎたりするわけで。

このあたりの大変さを知って開発に望むのと、知らないでぼーっと参加するのじゃえらい違いだと思うわけです。

さて、折角gtk+の最新版をビルドしたから...次はGNOMEか!?

1 件のコメント:

hanizo さんのコメント...
このコメントは投稿者によって削除されました。