PHP に GD2 と freetype2 をインストールする

EC Cube をインストールするために、 GD2, freetype2 をインストールします。
環境は Ubuntu 10.04
build-essentials とかはインストール済みという想定

GD2 のページに遷移し
必要なバージョンを Download する。

さらっと、Readme を読んだら、必要と書いてある lib をバリバリインストール。

まず、zlib のインストール。
だいたい入っている Linux が多いので、必要ない場合が多いかも。
zlib のページからソースをダウンロードする。

sudo ./conifugre --prefix=/usr/local/zlib-x.x.x/
sudo make
sudo make install | sudo tee zlib_install.log

libpng のインストール
libpng のページから…。

sudo ./conifugre --prefix=/usr/local/libpng-x.x.x/
sudo make
sudo make install | sudo tee libpng_install.log

freetype2 .... page

sudo ./conifugre --prefix=/usr/local/freetype-x.x.x/
sudo make
sudo make install | sudo tee install.log

jpeg library ... page

sudo ./conifugre --prefix=/usr/local/freetype-x.x.x/
sudo make
sudo make install | sudo tee install.log

XPM はhttp://koala.ilog.fr/lehors/xpm.html : title=サイトが見つからなかった。
まぁ、問題なさそうなので、ほっとく。
XPM とは、X PixMap の形式. ref. wikipedia en

はい、じゃあ、GD2.

sudo ./configure --prefix=/usr/local/gd2-2.0.33/
sudo make
sudo make install | sudo tee install.log

PHP5.x をインストールする前段階の用意をする。
Ubuntu10.04 では、xml2-config がない。そのため libxml2 をインストールする必要がある。
libxml2 のソースの取得:git clone git://git.gnome.org/libxml2
configure がないので、libxml2 ディレクトリで

sudo autoconf

をする。そしたら、盛大に問題が発生したのと時間が無いので、wget で古いバージョンを取って来た。
ftp://xmlsoft.org/libxml2/libxml2-2.7.8.tar.gz が、アドレス。

./configure --prefix=/usr/local/libxml2/
make
make install | tee install.log

と、此処から先は、良いblog を発見したのでそこにあるものをインストールした。

PHP5.x をインストールする。
PHP は、メインで使っている言語ではないので、普通何を入れるのかよくわかっていない。
インストールするのには、perl が必要だよ。気を付けようね。
とりあえず、ソース(5.3.9)を取ってくる。

    • with-apxs2 : apache に組み込むために php をモジュール化するオプション。error が出たら、パスを指定。

人によっては、centOS の場合 httpd-devel をインストールして、解決するみたい。
locate したら、ファイルがあったので、それを使用した。

    • with-pgsql : PostgreSQL を使うためのオプション。ソースからインストールしたら、パスを指定。
    • with-mysql : MySQL なら、これ。普通、MySQL だと思うけど、今回はPostgreSQLだったので指定していない。
    • enable-mbstring --enable-zend-multibyte : 日本語を使うためのオプション。
    • enable-mbregex : 日本語で正規表現を使うためのオプション。
    • with-gd : gd を使うためのオプション

と、やると私の場合は configure ができました。
ここで compile できない Ubuntu の場合は、

sudo apt-get build-dep php5

とすると良い。
これは、コンパイルするのに必要な前提をすべてインストールしてくれる。
なぜ、ここでこんな便利なものが出てきたのかというと、ここで知ったからなのと
ここまで頑張った結果を残したかったからだww

次にコンパイル
普通に make とやるとコケる。
この blog を参考にし、

make ZEND_EXTRA_LIBS='-lresolv'

とする。

通ったら、make test をする。ちなみに test 項目は 9,100 強だった。

make test
make install

install 後に、PATH をとおしたほうが良いよ、と薦められるので PATH を通す。
個人的には、この後、/usr/local に ln を貼りまくる作業が待ってる。
こんな感じのことをする。

ln -s ./php-5.3.9 ./php

インストールには関係無いので、このへんでこの記事は終わり。

今回、はじめて php をソースからコンパイルした。
記事でも分かるように phpコンパイルは、大変だった。
また凄腕のプログラマさんから どんな OS でも大変という reply を twitter で頂いた。

php を専門で行なっている会社の blog をだいぶ覗かせていただいたが
だいぶ短い記事でインストールできていた。
そんな能力、ほしいわぁ(白目)。