Please read the general build guide for information on dependencies required for all platforms. Only Linux specific instructions are found in this file.
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 zlib1g-dev
Add the universe repository:
(This is not enabled by default on the server edition)
sudo add-apt-repository universe
sudo apt-get update
Install Qt 5.10.1:
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 zlib1g-dev
To compile interface in a server you must install:
sudo apt-get -y install libpulse0 libnss3 libnspr4 libfontconfig1 libxcursor1 libxcomposite1 libxtst6 libxslt1.1
Install build tools:
sudo apt-get install cmake
Install Python 3:
sudo apt-get install python3.6
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/v0.71.0
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.1/gcc_64/lib/cmake ..
Start compilation of the server and get a cup of coffee:
make domain-server assignment-client
To compile interface:
make interface
In a server, it does not make sense to compile interface
Running domain server:
./domain-server/domain-server
Running assignment client:
./assignment-client/assignment-client -n 6
Running interface:
./interface/interface
Go to localhost in the running interface.