unsealed counsel
04 Jun 2022

Building Lucas Chess on Fedora

Building Lucas Chess from source on Fedora 35+ is fairly straightforward, but requires a couple of minor tweaks. The sources themselves, not the binaries, can be found on github; the linux binaries are built using Docker for Debian, but most of the dependencies are present in the Fedora repositories.

The first step is to clone the repository, and then install all the dependencies that Fedora provides:

git clone https://github.com/lukasmonk/lucaschessR.git lucaschessR
# Run as root via sudo
sudo dnf install python3-pillow python3-pyside2 \
     python3-sortedcontainers python3-chardet \
     python3-pyaudio cython python3-psutil \
     python3-pillow

Unfortunately, python-chess is not available in Fedora's package repositories. We will use a python virtual environment to install it.

pushd /path/to/virtualenv/dir # modify as needed
python3 -m venv --system-site-packages lucaschess
source lucaschess/activate
pip install python-chess

While the virtual environment is active, let's build Lucas Chess:

popd # to get back to parent directory of git checkout
cd lucaschessR/bin/_fastercode
bash linux64.sh
# Check the output
ls source/FasterCode.cpython*
cd ../_genicons/
python3 gentema.py
cd ../ # back to bin

At this point you should be able to run the final executable:

python3 LucasR.py

However, you will soon notice that the underlying engines are not yet built. The quickest (but not the best) way to "build" them is to use the pre-built binaries:

pushd bin/OS/linux
bash RunEngines # sets the executable bit on a bunch of files
popd

Now, all of the engines are available, but they are slower than they need to be. The best way to resolve the issue is to rebuild all of them, but for most purposes, you just need the latest stockfish anyway; let's just install it directly from the Fedora repositories:

sudo dnf install stockfish

The next time Lucas Chess is launched, add the system stockfish (which is much faster than the version from Lucas Chess' repository) as an external engine using the menu: Tools > Engines > External engines. Create a new engine with binary file stockfish and directory /usr/bin; Lucas chess will discover all other attributes. Exit the binary and then restart it, since the newly added engine is not always available until a restart. Now we can set the system stockfish as our default tutor via the menu: Options > Configuration > Tutor.

Tags: chess fedora
Creative Commons License
runes.lexarcana.com by Ravi R Kiran is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License .