Born Too Late

Yuya's old tech blog.

php-build で PHP 5.4.0 beta1 をビルドする

2011-09-17 17:26:20

php-build とは

コマンドライン一発でソースコードのダウンロード, 展開, ビルドまで自動でやってくれるツールです.

ところで Ruby にも ruby-build というツールがありますね.

環境について

最悪壊れても困らない環境で試すことをオススメします.
今回は開発用 VM 上の Ubuntu 10.10 で作業を行いました.

php-build のインストール

GitHub の php-build プロジェクト上で特にインストール方法について説明されていません.
ここではホームディレクトリ上の .php-build というディレクトリにインストールし, そこにパスを通す, という方法を採ります.

.zshrc の部分については, Bash を使っている場合は .bashrc に置き換えてください.

以下のようにコマンドを実行して, 同様の結果が得られれば php-build のインストールは完了です.

php-build では各バージョンの定義ファイルを元にビルドを行うのですが, これは定義ファイルの一覧です.
ここに列挙されているバージョンであれば php-build でインストール可能です.

5.4.0 beta1 用の定義ファイルの追加

GitHub に置いてますので, 以下のようにして追加することが可能です.

再度 php-build --definitions を実行すると, そこに 5.4.0beta1 が追加されていることを確認できるはずです.

依存パッケージのインストール

PHP 本体をビルドする前に, 依存するパッケージをいろいろとインストールします.

比較的クリーンな状態での Ubuntu 10.10 で PHP 5.4.0 beta1 をインストールするには, トライアル & エラーを繰り返した結果, 以下のようなパッケージが必要なことがわかりました.

依存パッケージが足りずにビルドにコケるようであれば, エラーメッセージから判断して, 適宜追加する必要があります.

PHP 5.4.0 beta1 のビルド

以下のようなコマンドを実行して, あとはひたすら待ちます.
第一引数が定義ファイルの名前で, 第二引数が出力ディレクトリです.
ディレクトリの指定はフルパスで行う必要があるようなので, 注意しましょう.

いろいろ warning が出るけど, とりあえず気にしない.

実行してみる

以下のようなコマンドを実行し, 同様の結果が得られればとりあえず成功です.

Short Array Syntax が取り入れられていることがわかりますね.

次回は phpenv と連携させて, もう少し幸福追求してみようと思います.
あと, make test とかする方法があると嬉しいですね...