- Notifications
You must be signed in to change notification settings - Fork3.1k
Building and installing HHVM on Debian 6
(This page is a work in progress. Instructions are for building the HipHop VM, or HHVM for Debian 6 64bit.)
echo"deb http://ftp.nl.debian.org/debian testing main">> /etc/apt/sources.listecho'APT::Default-Release "stable";'> /etc/apt/apt.conf.d/51stableapt-get updateapt-get install git-core cmake libmysqlclient-dev \ libxslt1.1 libxml2-dev libmcrypt-dev libicu-dev openssl build-essential binutils-dev \ libcap-dev libgd2-xpm-dev zlib1g-dev libtbb-dev libonig-dev libpcre3-dev \ autoconf libtool libcurl4-openssl-dev wget memcached \ libreadline-dev libncurses-dev libmemcached-dev libbz2-dev \ libc-client2007e-dev php5-mcrypt php5-imagick libgoogle-perftools-dev \ libcloog-ppl0 libelf-dev libdwarf-dev libunwind7-dev subversion \ libtbb2/wheezy libtbb-dev/wheezy g++-4.7/wheezy gcc-4.7/wheezy \ libc6-dev/wheezy libmpfr4/wheezy libgcc1/wheezy binutils/wheezy \ libc6/wheezy libc-dev-bin/wheezy libc-bin/wheezy libgomp1/wheezy \ libstdc++6-4.7-dev/wheezy libstdc++6/wheezy cmake/wheezy \ libarchive12/wheezy cmake-data/wheezy libacl1/wheezy libattr1/wheezy \ g++/wheezy cpp/wheezy gcc/wheezy make/wheezy libboost-thread1.49.0/wheezy \ libboost-thread-dev/wheezy libgd2-xpm-dev/squeeze libfontconfig1-dev/squeeze \ pkg-config/wheezy libdwarf-dev/wheezy binutils-dev/wheezy libboost-system1.49-dev/wheezy \ libboost-program-options1.49-dev/wheezy \ libboost-filesystem1.49-dev/wheezy libboost-regex1.49-dev/wheezy \ libmagickwand-dev libevent-dev
mkdir devcd devgit clone git://github.com/facebook/hhvm.git --depth=1cd hhvmgit submodule update --init --recursiveexport CMAKE_PREFIX_PATH=`pwd`/..cd ..
Make sure that your system time is correct, otherwise ./configure will fail.
git clone git://github.com/bagder/curl.git --depth=1cd curl./buildconf./configure --prefix=$CMAKE_PREFIX_PATHmakemake installcd ..
Note: If you're building a version of cURL older than 7.28.0 (for whatever reason), you'll need to apply the patch in third-party to update it prior to the make step.
cat ../hhvm/third-party/libcurl-7.22.1.fb-changes.diff| patch -p1svn checkout http://google-glog.googlecode.com/svn/trunk/ google-glogcd google-glog./configure --prefix=$CMAKE_PREFIX_PATHmakemake installcd ..
wget http://www.canonware.com/download/jemalloc/jemalloc-3.5.1.tar.bz2tar xjvf jemalloc-3.5.1.tar.bz2cd jemalloc-3.5.1./configure --prefix=$CMAKE_PREFIX_PATHmakemake installcd ..
cd hhvmexport CMAKE_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:/lib/x86_64-linux-gnucmake.make
The hhvm binary can be found inhphp/hhvm/hhvm.
Seehttps://github.com/facebook/hhvm/wiki/Building-the-Hack-Typechecker.Note the Debian 6 does not have a new enough version of OCaml by default. You will have to install a newer version yourself:http://caml.inria.fr/download.en.html.
If any errors occur, it may be required to remove theCMakeCache.txt directory in the checkout.
If your failure was on themake command, try to correct the error and runmake again, it should restart from the point it stops. If don't, try to remove as explained above.