Skip to content

Latest commit

 

History

History
204 lines (152 loc) · 5.57 KB

LinuxDev.md

File metadata and controls

204 lines (152 loc) · 5.57 KB

Uniblow development on Linux

A binary is provided to run on Ubuntu, Debian and Tails OS, for AMD64 cpu arch. For easy run on these platforms, check the specific instructions in the LinuxRunBin doc instead.

The following instructions commands are given to run uniblow from the source on various Linux distributions. This can also be used for development purpose.

Additionally, there are specific instructions and scripts to build uniblow binaries for the Windows, Debian/Ubuntu and MacOS platforms in the Build document.

Run on Linux

This document presents instructions how to run uniblow from source on the following Linux flavors :

Debian

For Debian 11

On AMD64 systems

Install packages for x86 / AMD64

sudo apt update
sudo apt install -y git libnotify4 libgtk-3-0 libpcsclite1 libsdl2-2.0-0 python3-venv python3-pip python3-pyscard
python3 -m pip install -U pip < /dev/null
python3 -m pip install https://extras.wxpython.org/wxPython4/extras/linux/gtk3/debian-11/wxPython-4.2.1-cp39-cp39-linux_x86_64.whl < /dev/null
python3 -m pip install -U pip setuptools-rust < /dev/null

On aarch64 / ARM-64 systems For Debian 11 Bullseye with python3.9

Install packages for aarch64 / ARM-64

sudo apt update
sudo apt install -y git libnotify4 libgtk-3-0 libsdl2-2.0-0  python3-wxgtk4.0 libpcsclite1 python3-venv python3-pip python3-pyscard pcscd
python3 -m pip install -U pip
python3 -m pip install -U setuptools-rust

If pip complains about writing rights issues, execute the following:

sudo chown $USER -R /home/$USER/.local/lib/python3.9/site-packages

Get the uniblow source

git clone https://github.com/bitlogik/uniblow.git
cd uniblow

Create venv for uniblow

python3 -m venv --system-site-packages unibenv
source unibenv/bin/activate

Install uniblow dependencies

python -m install .

Run uniblow

python uniblow.py

Quit the venv

deactivate

Run uniblow next time

Within a terminal, in the uniblow directory

source unibenv/bin/activate
python uniblow.py
deactivate

Ubuntu / Mint

Requires Python >= 3.9

Install system packages

sudo add-apt-repository universe < /dev/null
sudo apt update < /dev/null
sudo apt install -y git python3-venv python3-pip < /dev/null

Install required packages

sudo apt install -y libsdl2-dev < /dev/null
python3 -m pip install -U pip < /dev/null
sudo pip3 install https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-22.04/wxPython-4.2.1-cp310-cp310-linux_x86_64.whl < /dev/null
sudo apt install -y python3-pyscard < /dev/null

The wxPython link has to be changed for the good one that fits your distro. Check here in the list for your distro.

For Ubuntu from version 22.04 this whl for cp310 can be used. The systemd package might be required to be installed for libsdl2.

All the wxPython wheel binaries are provided for the AMD64 architecture. To run on any others CPU architecture, the wxPython has to be compiled from sources.

In such cases, calling pip3 install wxPython>=4.2.0 will download the source archive and will attempt to build it for you. If you have the required compiler and dependent libraries installed, then this will be a feasible approach, although it can take some time to do the build. The end result will be the same as if there was a binary wheel available. Pip can also be told to just build the wheel and not do the install. This way you can reuse the wheel file for different Python environments or on other similar machines, without needing to rebuild for each one. This web page can help you in such process.

Get the uniblow source

git clone https://github.com/bitlogik/uniblow.git
cd uniblow

Create venv for uniblow

python3 -m venv --system-site-packages unibenv
source unibenv/bin/activate

Install uniblow dependencies

python -m pip install .

Run uniblow

python uniblow.py

Quit the venv

deactivate

Run uniblow next time

Within a terminal, in the uniblow directory

source unibenv/bin/activate
python uniblow.py
deactivate

Fedora / RHEL / centOS

Tested on Fedora 33-34

Install system packages

sudo dnf install -y git python3-virtualenv python3-pip

Install required packages

sudo dnf -y groupinstall "Development Tools" "Development Libraries" < /dev/null
sudo dnf -y install gcc-c++ wxGTK3-devel python3-pyscard < /dev/null

Get the uniblow source

git clone https://github.com/bitlogik/uniblow.git
cd uniblow

Create venv for uniblow

python3 -m venv --system-site-packages unibenv
source unibenv/bin/activate

Install uniblow dependencies

python -m pip install -U pip
python -m pip install .

Run uniblow

python uniblow.py -v

Quit the venv

deactivate

Run uniblow next time

Within a terminal, in the uniblow directory

source unibenv/bin/activate
python uniblow.py -v
deactivate

The '-v' argument enables the debug logging output for more verbose terminal output.