Guide for compiling StarFab on Linux distos. Although not necassary, it is reccomended to use toolbox or podman container to avoid filling the host OS with hundred of dev packages.
# Arch
toolbox create --image quay.io/toolbx-images/archlinux-toolbox
toolbox enter archlinux-toolbox
sudo pacman -Syu
# Debian
toolbox create --image quay.io/toolbx-images/debian-toolbox:12
toolbox enter debian-toolbox-12
sudo apt update && sudo apt upgrade -y
# Fedora
toolbox create --image fedoraproject.org/fedora-toolbox:38
toolbox enter fedora
sudo dnf -y update
# Arch
sudo pacman -S --needed nano base-devel poetry qt5-base openssl zlib xz tk nss libxcomposite libxrandr libxcursor libxi libxtst libxkbcommon alsa-lib libpulse
# Debian
sudo apt install -y build-essential python3-poetry qtbase5-dev libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev curl libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev libasound2 libpulse-mainloop-glib0
# Fedora
sudo dnf -y groupinstall "Development Tools" "Development Libraries"
sudo dnf -y install poetry qt5-qtbase-devel libXcomposite libXdamage libXrandr libXcursor libXi libXtst alsa-lib pulseaudio-libs pulseaudio-libs-glib2
sudo dnf -y builddep python3
curl https://pyenv.run | bash
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> /etc/apt/sources.list.d/debian.sources
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
exec "$SHELL"
Install recommended python using pyenv
pyenv install 3.10.2
pyenv shell 3.10.2
pyenv local 3.10.2
mkdir -p scmodding/{tools,frameworks}/
cd scmodding
git clone https://gitlab.com/scmodding/tools/starfab.git tools/starfab
git clone https://gitlab.com/scmodding/frameworks/scdatatools.git frameworks/scdatatools
cd tools/starfab
rm poetry.lock
# use editor to remove [[tool.poetry.dependencies.vtk]] entries
nano pyproject.toml
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip wheel vtk
# make poetry recongnise selected pyenv python
poetry env use python
poetry install
poetry run python -m pip install -e ../../frameworks/scdatatools
more info Can create also create problems, try only if Starfab is not rendering.
export QT_QPA_PLATFORM=xcb
*note: after splash screen UI can take sometime to appear
poetry run python -m starfab