ArchLinux (docker)
Arch Linux is rolling-release linux distribution. That means, you get often updates wit the newest programs and libraries. Thats a nightmare for binary packages, because they depends on certain version of libraries.
Docker allows you to run diffrent images of many linux distributions in different versions. Thats cool, if you want to run something which requires libraries not available at your current Linux distribution.
I am going to describe you how to install nocheto into Arch Linux docker image.
I am not going to describe how to install or operate docker, read docker tutorial for it.
Step 1: run arch image
docker run -it -v /home/username/:/home/username/ --net host --privileged -v /dev/snd:/dev/snd --name "nocheto" archlinux:base-20221204.0.107760 /bin/bash
Change username to your home directory name.
Step 2: install packages
pacman -Fy pacman -Sy vim vi less git sudo fakeroot make gcc autoconf flex bison libtool sqlite graphicsmagick libedit openssl
Step 3: create non-root account
In visudo, add this line: username ALL=(ALL) NOPASSWD: ALL
useradd username visudo
Step 4: Install stockfish
git clone https://aur.archlinux.org/stockfish.git cd stockfish chown username . su username makepkg -si --noconfirm exit cd - rm -rf stockfish
Step 5: Install nocheto
Download the .pkg.tar.xz package and install it by the following command:
pacman -S --noconfirm alsa-utils espeak pacman -U --noconfirm <packagename>.pkg.tar.zst
<packagename>.pkg.tar.zst is the name of nocheto or nochetoengi package, i.e. nochetoengi-2.6.0-0-x86_64.pkg.tar.zst or nocheto-2.6.0-0-x86_64.pkg.tar.zst.
Step 6: Run it
Once you exit from docker, to run the container you just created again, first find out its CONTAINER_ID and then run it like this:
docker ps --all CONTAINER ID IMAGE COMMAND CREATED STATUS ... 8ee78412c83e archlinux:2....... "/bin/bash" 41 minutes ago Exited (0) 2 minutes ago ... docker start -i 8ee78412c83e
Once you start the container again, you can connect to it with another shell (in another console window) like this:
docker exec -ti 8ee78412c83e /bin/bash
You can also run directly one of nocheto programs:
docker exec -it c9388f57463a nochetoclient
Note: you can use container name instead of CONTAINER ID:
docker exec -it nocheto nochetoclient
Continue with postinstall instructions.
ldd output
The ldd output shows which libraries are used by nocheto. If you have the same libraries installed in a different distribution, nocheto will probably work there too.
$ ldd /usr/local/bin/nochetolinux-vdso.so.1 (0x00007fff99b9b000) libedit.so.0 => /usr/lib/libedit.so.0 (0x00007f252c189000) libcrypto.so.3 => /usr/lib/libcrypto.so.3 (0x00007f252bd3e000) libssl.so.3 => /usr/lib/libssl.so.3 (0x00007f252bc9e000) libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0x00007f252bb51000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f252b91a000) libm.so.6 => /usr/lib/libm.so.6 (0x00007f252b832000) libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f252b810000) libc.so.6 => /usr/lib/libc.so.6 (0x00007f252b629000) libncursesw.so.6 => /usr/lib/libncursesw.so.6 (0x00007f252b5b5000) /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f252c807000)