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:
# For Ubuntu 18.04
sudo apt-get install cmake
# For Ubuntu 16.04
wget https://cmake.org/files/v3.9/cmake-3.9.5-Linux-x86_64.sh
sudo sh cmake-3.9.5-Linux-x86_64.sh --prefix=/usr/local --exclude-subdir
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.79.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.
In Ubuntu 18.04 there is a problem related with NVidia driver library version.
It can be workarounded following these steps:
Uninstall incompatible nvtt libraries:
sudo apt-get remove libnvtt2 libnvtt-dev
Install libssl1.0-dev:
sudo apt-get -y install libssl1.0-dev
Clone castano nvidia-texture-tools:
git clone https://github.com/castano/nvidia-texture-tools
cd nvidia-texture-tools/
Make these changes in repo:
- In file VERSION set
2.2.1
- In file configure:
- set
build="release"
- set
-DNVTT_SHARED=1
- set
Configure, build and install:
./configure
make
sudo make install
Link compiled files:
sudo ln -s /usr/local/lib/libnvcore.so /usr/lib/libnvcore.so
sudo ln -s /usr/local/lib/libnvimage.so /usr/lib/libnvimage.so
sudo ln -s /usr/local/lib/libnvmath.so /usr/lib/libnvmath.so
sudo ln -s /usr/local/lib/libnvtt.so /usr/lib/libnvtt.so
After running this steps you can run interface:
interface/interface