Skip to content

Building and installing HHVM on Ubuntu 14.04 (arm64)

Simon Welsh edited this page Jan 10, 2015 · 6 revisions

Packages Installation

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.

Downloading the source-code

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

Building all HHVM and google-glog and libevent from source.

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

Running programs

The hhvm binary can be found in $CMAKE_PREFIX/bin.

Errors

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.

Clone this wiki locally