-
Notifications
You must be signed in to change notification settings - Fork 3k
Building and installing HHVM on Ubuntu 14.04 (arm64)
Simon Welsh edited this page Jan 10, 2015
·
6 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
and sudo apt-get upgrade
first, or you may receive errors)
sudo apt-get install autoconf automake binutils-dev build-essential cmake g++ git \
libboost-dev libboost-filesystem-dev libboost-program-options-dev libboost-regex-dev \
libboost-system-dev libboost-thread-dev libbz2-dev libc-client-dev \
libcap-dev libcurl4-openssl-dev libdwarf-dev libelf-dev \
libexpat-dev libgd2-xpm-dev libicu-dev \
libjemalloc-dev libmcrypt-dev libmemcached-dev libmysqlclient-dev libncurses-dev \
libonig-dev libpcre3-dev libreadline-dev libtbb-dev libtool libxml2-dev zlib1g-dev \
libevent-dev libmagickwand-dev libinotifytools0-dev libiconv-hook-dev libedit-dev \
libiberty-dev libxslt1-dev gawk
Note: On arm64 (aarch64) we need to build google-glog and libevent from source.
mkdir $HOME/hhvm-for-arm64
cd $HOME/hhvm-for-arm64
# HHVM source checkout
git clone git://github.com/facebook/hhvm.git --depth=1
(cd hhvm; git submodule update --init --recursive)
# google-glog source checkout
svn checkout http://google-glog.googlecode.com/svn/trunk google-glog
# libevent source checkout
git clone git://github.com/libevent/libevent.git
Please ensure that your machine has more than 1GB of RAM
cd $HOME/hhvm-for-arm64
export CMAKE_PREFIX_PATH=`pwd`/local
cd google-glog
autoreconf -fvi
./configure --prefix=$CMAKE_PREFIX_PATH
make
make install
cd ..
cd libevent
git checkout release-1.4.14b-stable
cat ../hhvm/hphp/patches/libevent-1.4.14b.patch | patch -p1
./autogen.sh
./configure --prefix=$CMAKE_PREFIX_PATH
make
make install
cd ..
cd hhvm
export HPHP_HOME=`pwd`
cmake -DCMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH -DCMAKE_INSTALL_PREFIX:PATH=$CMAKE_PREFIX_PATH .
make
make install
The hhvm binary can be found in $CMAKE_PREFIX/bin
.
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.