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.
To build AYON you will need some tools and libraries. We do not provide any of these tools. You have to install them yourself.
- bash
- curl on systems that doesn't have one preinstalled
- git
- Python 3.9 or higher
- CMake
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).
Details for Ubuntu
Install git, cmake and curlsudo apt install build-essential checkinstall
sudo apt install git cmake curl
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 curlsudo yum install qit cmake
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
git clone --recurse-submodules [email protected]:ynput/ayon-launcher.git
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 in ./build/
.
./tools/make.sh build
Build should create ./build/AYON {version}.app
file.
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.