Skip to content

Building the binay

document10 edited this page Sep 1, 2023 · 1 revision

Building the binary

If there is no suitable binary provided for your system or you are contributing to TAIGA and want to test the binary,you can manually compile the binary yourself.This page provides all steps needed for compiling the binary for your system.

Dependencies

Building the script will require both the base dependencies (sudo,pciutils) as well as the source dependencies (dependencies needed to run TAIGA in script form).Please check the Running from binary and Running from source sections to see how to install those dependencies.

pyinstaller

Pyinstaller is being used to compile the binary.Pyinstaller is managed through pip (just like simple-term-menu) and also has dependencies of its own.Check the Requirements page to see what libraries and apps are needed to run Pyinstaller correctly.

Using virtual environments (recommended)

Just like simple-term-menu,pyinstaller is best installed in a virtual environment using these commands:

python3 -m venv $(pwd)
bin/pip install --upgrade pip
bin/pip install pyinstaller

You can also use the create_env.sh from the scripts directory to create a virtual environment suitable for running TAIGA as well as compiling the binary.

cd scripts
sh create_env.sh

Using pip (not recommended)

To install pyinstaller you can use either one of these commands:

sudo pip install pyinstaller

or

pip install --user pyinstaller

Keep in mind that if your distro uses PEP 668 this method won't be possible and you will need to add the --break-system-packages option.
WARNING:This method is not recommended since it can cause problems with other applications.Use virtual environments instead.

Compiling the binary

Users should use the build_from_env.sh script to compile the binary.The script will compile TAIGA using special options and also clean up the folder from compilation artifacts.

cd scripts
sh build_from_env.sh

After the binary is compiled,use the Running from binary instructions to run TAIGA.