2010年2月28日日曜日

HipHop for PHP インストールログ(Cent OS 5.4)

MacbookにParallelsでCentOS 5.4を入れて、HipHop for PHPのビルドを試みてうまく行ったので、ログを残しておきます。

※ここに残す内容はあくまで試行錯誤した結果のログを後から編集しただけなので、この手順でうまく行くとは限らないのでご了承ください。

  • gitがなかったら入れる

  • yumをrpmforgeにつなげてgitを入れます。rpmforge gitとかで探せば色々でてきます。
  • 依存パッケージをyumでインストール

  • 僕の場合CentOSのインストール時にパッケージを最小構成にして入れたので、必要なパッケージをyumで入れました。

    sudo yum install cmake libssh2 gd gd-devel mysql-server mysql-devel
    \ openssl-devel pcre-devel libxml2-devel
    \ expat-devel libmcrypt-devel binutils-devel


  • 適切なintel TBBを落としてきて環境変数をセットします


  • wget http://www.threadingbuildingblocks.org/uploads/77/142/2.2/tbb22_20090809oss_lin.tgz
    tar xvfz tbb22_20090809oss_lin.tgz
    export TBB22_INSTALL_DIR=/home/manavy/packages/tbb22_20090809oss
    export TBB_ARCH_PLATFORM="intel64/cc4.1.0_libc2.4_kernel2.6.16.21"

  • boost & ICU4のRPMパッケージをjohnwyles/hiphop-rpm-centosから落とします。(個人が作成したRPMなので信頼性は自己判断でお願いします。) libeventとcurlもここで配布していますが、インストールされるパスがcmakeで要求するものと異なる?ようで面倒なのでソースから入れました。


  • wget http://github.com/downloads/johnwyles/hiphop-rpm-centos/boost-1_37_0-1.x86_64.rpm
    wget http://github.com/downloads/johnwyles/hiphop-rpm-centos/boost-debuginfo-1_37_0-1.x86_64.rpm
    wget http://github.com/downloads/johnwyles/hiphop-rpm-centos/boost-devel-1_37_0-1.x86_64.rpm
    wget http://github.com/downloads/johnwyles/hiphop-rpm-centos/icu-4.2.1-1.x86_64.rpm
    wget http://github.com/downloads/johnwyles/hiphop-rpm-centos/icu-debuginfo-4.2.1-1.x86_64.rpm
    wget http://github.com/downloads/johnwyles/hiphop-rpm-centos/libicu42-4.2.1-1.x86_64.rpm
    wget http://github.com/downloads/johnwyles/hiphop-rpm-centos/libicu-devel-4.2.1-1.x86_64.rpm

    sudo rpm -ivh icu-4.2.1-1.x86_64.rpm
    sudo rpm -ivh libicu42-4.2.1-1.x86_64.rpm
    sudo rpm -ivh libicu-devel-4.2.1-1.x86_64.rpm
    sudo rpm -ivh icu-debuginfo-4.2.1-1.x86_64.rpm
    sudo rpm -ivh boost-1_37_0-1.x86_64.rpm
    sudo rpm -ivh boost-devel-1_37_0-1.x86_64.rpm
    sudo rpm -ivh boost-debuginfo-1_37_0-1.x86_64.rpm

  • flexとOnigurumaを入れます。ジャストでこのバージョンを入れないとコンパイルが通りません。


  • wget 'http://downloads.sourceforge.net/project/flex/flex/flex-2.5.35/flex-2.5.35.tar.gz?use_mirror=jaist'
    tar -xvzf flex-2.5.35.tar.gz
    cd flex-2.5.35
    ./configure && make && sudo make install

    #oniguruma
    wget http://www.geocities.jp/kosako3/oniguruma/archive/onig-5.9.2.tar.gz
    tar xvfz onig-5.9.2.tar.gz
    cd onig-5.9.2/
    ./configure && make && sudo make install

  • ソースをとってきます。


  • git clone git://github.com/facebook/hiphop-php.git

  • libeventとcurlにパッチを当てていれます


  • wget http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz
    wget http://curl.haxx.se/download/curl-7.20.0.tar.gz

    tar xvfz libevent-1.4.13-stable.tar.gz
    cd libevent-1.4.13-stable/
    cp ../hiphop-php/src/third_party/libevent.fb-changes.diff .
    patch < libevent.fb-changes.diff

    tar xvfz curl-7.20.0.tar.gz
    cd curl-7.20.0
    cp ../hiphop-php/src/third_party/libcurl.fb-changes.diff .
    patch -p0 < libcurl.fb-changes.diff

  • あとは公式のドキュメント通りにやればOKなはずです。


  • cd hiphop-php
    git submodule init
    git submodule update
    export HPHP_HOME=`pwd`
    export HPHP_LIB=`pwd`/bin
    cmake .
    make

    0 件のコメント:

    コメントを投稿