Skip to content

Latest commit

 

History

History
139 lines (102 loc) · 3.89 KB

linux.md

File metadata and controls

139 lines (102 loc) · 3.89 KB

Build AYON launcher on Linux

WARNING: Linux needs distribution specific steps.

We highly recommend to use prepared docker build options for Linux. If you want to build AYON on your local machine, the following steps may not be fully working for every case.

Requirements


To build AYON you will need some tools and libraries. We do not provide any of these tools. You have to install them yourself.

Python 3.9.0 is not supported because of this bug.

It is recommended to use pyenv for python version control.

To build Python related stuff, you need Python header files installed (python3-dev on Ubuntu for example).

Prepare requirements

Details for Ubuntu Install git, cmake and curl
sudo apt install build-essential checkinstall
sudo apt install git cmake curl

Note:

In case you run in error about xcb when running AYON, you'll need also additional libraries for Qt5:

sudo apt install qt6-default

or if you are on Ubuntu > 20.04, there is no qt6-default packages so you need to install its content individually:

sudo apt-get install qtbase6-dev qtchooser qt6-qmake qtbase6-dev-tools
Details for Centos 7 Note that centos 7 is old OS and some of the packages are not available so there might be used older versions. For example still uses PySide2 instead of PySide6. Install git, cmake and curl
sudo yum install qit cmake

Note:

In case you run in error about xcb when running AYON, you'll need also additional libraries for Qt5:

sudo yum install qt5-qtbase-devel
Use pyenv to install Python version for AYON build

You will need bzip2, readline, sqlite3 and other libraries.

For more details about Python build environments see:

https://github.com/pyenv/pyenv/wiki#suggested-build-environment

For Ubuntu:

sudo apt-get update; sudo apt-get install --no-install-recommends make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

For Centos:

yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel

install pyenv

curl https://pyenv.run | bash

# you can add those to ~/.bashrc
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

# reload shell
exec $SHELL

# install Python 3.9.x
pyenv install -v 3.9.13

# change path to repository
cd /path/to/ayon-launcher

# set local python version
pyenv local 3.9.13

Build

Clone repository

git clone --recurse-submodules [email protected]:ynput/ayon-launcher.git

Prepare environment

Create virtual environment in ./.venv and install python runtime dependencies like PySide, Pillow..

For Centos: Centos does not support default version of PySide6. We've prepared last supported version, all you need to do is to set environment variable QT_BINDING to centos7.

./tools/make.sh create-env
./tools/make.sh install-runtime-dependencies

Build AYON Desktop

Build AYON in ./build/.

./tools/make.sh build

Build should create ./build/AYON {version}.app file.

Create installer

Create installer that can be distributed to server and workstations.

./tools/make.sh make-installer

Output installer is in ./build/installer/ directory. You should find .dmg and .json file. JSON file contains metadata required for server.