-
Notifications
You must be signed in to change notification settings - Fork 3k
Building and installing HHVM on Ubuntu 13.10
Brandon Wamboldt edited this page Dec 21, 2013
·
44 revisions
Please Note: You must be running a 64-bit OS to compile & install HHVM.
Using sudo or as root user: (it is recommended to run sudo apt-get update
first, or you may receive errors)
sudo apt-get install git cmake g++ libboost-dev libmysqlclient-dev libxml2-dev \
libmcrypt-dev libicu-dev build-essential binutils-dev libcap-dev libgd2-xpm-dev \
zlib1g-dev libtbb-dev libonig-dev libpcre3-dev autoconf libtool libcurl4-openssl-dev \
libboost-system-dev libboost-program-options-dev libboost-filesystem-dev libboost-thread-dev \
libreadline-dev libncurses-dev libmemcached-dev libbz2-dev libc-client2007e-dev \
libgoogle-perftools-dev libelf-dev libdwarf-dev libboost-regex-dev libgoogle-glog-dev \
libjemalloc-dev libtool automake cmake libboost-regex-dev libboost-filesystem-dev \
libboost-system-dev libboost-program-options-dev libmysqlclient-dev libmemcached-dev \
libpcre3-dev libcurl4-openssl-dev libxml2-dev libexpat-dev libtbb-dev libmcrypt-dev \
libbz2-dev libonig-dev libreadline-dev libelf-dev libdwarf-dev libc-client-dev libcap-dev \
binutils-dev libboost-thread-dev
mkdir dev
cd dev
export CMAKE_PREFIX_PATH=`pwd`
git clone git://github.com/facebook/hhvm.git
cd hhvm
git submodule init
cd ../
git clone git://github.com/libevent/libevent.git
cd libevent
git checkout release-1.4.14b-stable
cat ../hhvm/hphp/third_party/libevent-1.4.14.fb-changes.diff | patch -p1
./autogen.sh
./configure --prefix=$CMAKE_PREFIX_PATH
make
make install
cd ..
Please ensure that your machine has more than 1GB of RAM
cd hhvm
git submodule update
export HPHP_HOME=`pwd`
cmake .
make
The hhvm binary can be found in hphp/hhvm/hhvm
.
If any errors occur, it may be required to remove the CMakeCache.txt
file in the checkout.
If your failure was on the make
command, try to correct the error and run make
again, it should restart from the point it stops. If the error persists, try to remove as explained above.