ついに公開,Facebook-HipHop-PHP

話題になったhiphop-php...
http://blog.candycane.jp/archives/275

github等で公開されました.
GitHub - h4ck3rm1k3/hhvm: For the experimental debian packaging of the hiphop php to c compiler from facebook, see branch mdupont_hip_hop_patches

しかし,FreeBSDにはインストール失敗しました...hiphop-php
HipHop-PHPは依存が非常に多いです.すなわち,HipHop-PHPを入れるためには,そのために必要な大量の他のソフト・ライブラリを入れなければなりません.

頑張ってソースインストールしていきました.

Git

> wget http://kernel.org/pub/software/scm/git/git-1.7.0.tar.gz
> tar xvf git-1.7.0.tar.gz
> cd git-1.7.0
> ./configure --with-python=/usr/local/bin/python ; gmake
> su
# make install

Ok.


CMake

> wget http://www.cmake.org/files/v2.8/cmake-2.8.0.tar.gz
> tar xvf cmake-2.8.0.tar.gz
> cd cmake-2.8.0
> ./bootstrap ; make
> su
# make install

Ok.

Boost C++ Libraries

> wget http://sourceforge.net/projects/boost/files/boost/1.42.0/boost_1_42_0.tar.gz/download
> tar xvf boost_1_42_0.tar.gz
> cd boost_1_42_0
>  ./bootstrap.sh --prefix=/usr/local
>  ./bjam
> su
# ./bjam --prefix=/usr/local install

Ok.

re2c — re2c 1.1.1 documentation

> wget http://downloads.sourceforge.net/project/re2c/re2c/0.13.5/re2c-0.13.5.tar.gz\?use_mirror=jaist
> tar xvf re2c-0.13.5.tar.gz
> cd re2c-0.13.5
> ./configure; make
> su
# make install

Ok.

MCrypt

> wget http://downloads.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz\?use_mirror=jaist
> tar xvf libmcrypt-2.5.8.tar.gz
> cd libmcrypt-2.5.8
> ./configure ; make
> su
# make install

Ok.


ICU - International Components for Unicode

> wget http://download.icu-project.org/files/icu4c/4.2.1/icu4c-4_2_1-src.tgz
> tar xvf icu4c-4_2_1-src.tgz
> cd icu/source
> chmod +x runConfigureICU configure install-sh
> ./runConfigureICU FreeBSD
> gmake
> su
# gmake install

Ok.

Binutils - GNU Project - Free Software Foundation

> wget http://ftp.gnu.org/gnu/binutils/binutils-2.20.tar.gz
> tar xvf binutils-2.20.tar.gz
> cd binutils-2.20
> env CFLAGS="-I/usr/local/include" ./configure ; gmake
> su
# gmake install

(何度かmakeし直す場合は,config.cacheを消しまくる)

Ok.


Threading Building Blocks |

> wget http://www.threadingbuildingblocks.org/uploads/77/142/2.2/tbb22_20090809oss_src.tgz
> tar xvf tbb22_20090809oss_src.tgz
> cd tbb22_20090809oss./hiphop-php/src/third_party/libcurl.fb-changes.diff
> ./configure; make
> su
# make install

Ok.


libevent

> wget http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz
> tar xvf libevent-1.4.13-stable.tar.gz
> cd libevent-1.4.13-stable
> patch < ../hiphop-php/src/third_party/libevent.fb-changes.diff
> su
# make install

Ok.


問題はlibcap.
本体を取ってきてコンパイルしようとすると...

> cd facebook-hiphop-php-2fd5ef4
> git clone git://github.com/facebook/hiphop-php.git
> cd hiphop-php/
> setenv HPHP_HOME `pwd`
> setenv HPHP_LIB `pwd`/bin
> setenv CMAKE_PREFIX_PATH ~
> cmake .

エラーになります.
libpcapを作り直そうとしても,

> wget http://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-2.17.tar.gz
> tar xvf libcap-2.17.tar.gz
> cd libcap-2.17

linux/types.hとかLinux固有(?)のライブラリを探していて,どうしてもうまくいきません.

その他にも,オフィシャルには64bitOSにしか対応していないとか(が,32bit対応のプロジェクトがすでに始まったようです),いろいろ大変そうです.
やはりソフトはシンプルじゃなくてはいけません.