Linux

Build High Fidelity in Linux.

Linux build guide

Please read the general build guide for information on dependencies required for all platforms. Only Linux specific instructions are found in this file.

Qt5 Dependencies

Should you choose not to install Qt5 via a package manager that handles dependencies for you, you may be missing some Qt5 dependencies. On Ubuntu, for example, the following additional packages are required:

libasound2 libxmu-dev libxi-dev freeglut3-dev libasound2-dev libjack0 libjack-dev libxrandr-dev libudev-dev libssl-dev

Ubuntu 16.04 specific build guide

Prepare environment

hifiqt5.10.1 Install qt:

wget http://debian.highfidelity.com/pool/h/hi/hifiqt5.10.1_5.10.1_amd64.deb
sudo dpkg -i hifiqt5.10.1_5.10.1_amd64.deb

Install build dependencies:

sudo apt-get install libasound2 libxmu-dev libxi-dev freeglut3-dev libasound2-dev libjack0 libjack-dev libxrandr-dev libudev-dev libssl-dev

To compile interface in a server you must install:

sudo apt -y install libpulse0 libnss3 libnspr4 libfontconfig1 libxcursor1 libxcomposite1 libxtst6 libxslt1.1

Install build tools:

sudo apt install cmake

Get code and checkout the tag you need

Clone this repository:

git clone https://github.com/highfidelity/hifi.git

To compile a RELEASE version checkout the tag you need getting a list of all tags:

git fetch -a
git tags

Then checkout last tag with:

git checkout tags/RELEASE-6819

Or go to the highfidelity download page (https://highfidelity.com/download) to get the release version. For example, if there is a BETA 6731 type:

git checkout tags/RELEASE-6731

Compiling

Create the build directory:

mkdir -p hifi/build
cd hifi/build

Prepare makefiles:

cmake -DQT_CMAKE_PREFIX_PATH=/usr/local/Qt5.10.1/5.10/gcc_64/lib/cmake ..

Start compilation and get a cup of coffee:

make domain-server assignment-client interface

In a server does not make sense to compile interface

Running the software

Running domain server:

./domain-server/domain-server

Running assignment client:

./assignment-client/assignment-client -n 6

Running interface:

./interface/interface

Go to localhost in running interface.