HipHopのビルドとインストール方法(和訳)
ソースコードがついに公開されたHipHop for PHPのビルドとインストール方法のドキュメントの和訳を作成しました。CentOSかFedoraの環境をお持ちの方は早速ビルドに挑戦してみてはいかがでしょうか。利用法のドキュメントの和訳は引き続きアップします。
- PHPをC++に変換して高速化する「HipHop for PHP」をFacebookが公開
- HipHopのビルドとインストール方法(和訳)
- HipHopを実行するには(和訳)
原文
http://wiki.github.com/facebook/hiphop-php/building-and-installing
ビルドとインストール
HipHopはCentOSとFedora向けに開発されており、他のオペレーティングシステム上でのビルドは現在のところ機能しません。他のオペレーティングシステム向けのサポートは準備ができ次第追加されます。
前提条件
HipHopの前提条件はすべてをを静的にビルドする事です。ほとんどのパッケージは直接あなたのディストリビューションのパッケージ管理システムからインストールすることができます。
必要なパッケージ
- cmakeの2.6以上のバージョン
- g++ / gccの4.1以上のバージョン
- Boost 1.37以上のバージョン
- flex
- bison
- {re2cの{0}0.13.0以上のバージョン
- libmysql
- libxml2
- libmcrypt
- libicu 4.2以上のバージョン
- openssl
- binutils 及び binutils-dev
- libcap
- gd
- zlib
- tbb インテルのスレッドビルディングブロック
- libmbfl: git clone git:/ /github.com/scottmac/libmbfl.git
- Oniguruma
- libpcre3
- libexpat
カスタムパッケージ
以下のパッケージは若干の変更が加えられており、最新のソースのコピーに対して提供されているパッチを当てる必要があります。
- libcurl src/ third_party/libcurl.fb-changes.diff
- libevent 1.4 src/third_party/libevent.fb-changes.diff
パッチを適用するにはあなたのビルド環境は:
curl-7.20.0 hiphop-php libevent-1.4.13-stable
次のコマンドを入力します:
cd libevent-1.4.13-stable
cp ../hiphop-php/src/third_party/libevent.fb-changes.diff .
patch < libevent.fb-changes.diff
cd ..
cd curl-7.20.0
cp ../hiphop-php/src/third_party/libcurl.fb-changes.diff .
patch -p0 < libcurl.fb-changes.diff
パッチ処理中にエラーが表示される場合は -p0 を入力しないでください。
バンドルパッケージ
- src/third_party
- libafdt
- libmbfl
- sqlite3
- timelib
ビルド
ソースからIntel TBBを使用する
ソースからTBBの構築した場合や、、手動でバイナリをインストールした場合はいくつかの変数をバージョンと場所のヒントを与えるためにエクスポートする必要があります。
export TBB_INSTALL_DIR="/home/user/tbb22_012oss"
export TBB_ARCH_PLATFORM="intel64/cc4.1.2_libc2.5_kernel2.6.20"
目的はls $TBB_INSTALL_DIR/$TBB_ARCH_PLATFORM
に対してリンクするファイルが表示される事です。
ビルド
CMakeは、現在の選択されているビルドツールです。
あなたのカスタムのlibcurl、libeventや、必要に応じてインストールした他のライブラリの場所をCMakeに指し示す必要があります。CMAKE_PREFIX_PATH変数は場所のヒントを与えるために使用されます。
export CMAKE_PREFIX_PATH=/home/user
HipHopのビルドは下記のように行います。
cd /home/user/hiphop
git clone git://github.com/facebook/hiphop-php.git
cd hiphop-php
git submodule init
git submodule update
export HPHP_HOME=`pwd`
export HPHP_LIB=`pwd`/bin
cmake .
これが終わるとビルドに必要なファイルが生成されシェルに処理が戻ります。最後にmakeを実行します。エラーが発生した場合は、チェックアウトしたディレクトリ内のCMakeCache.txtの削除が必要です。
make
--訳ここまで