%20%C3%BCber%20Version%202.31%20hinaus%20unter%20Ubuntu%2020.04%3F.png)
Ich verwende die Stockfish-Schach-Engine in einer GUI, aber gestern hat sie aufgehört zu funktionieren. Ich hatte weder die Engine noch die Schnittstelle geändert, aber als ich versuchte, die Engine zu starten, wurde sie „mit Code beendet …“, aber sie gab keinen Code aus. Das Einzige, was sich geändert haben könnte, ist, dass ich meine Pakete regelmäßig aktualisiere:
sudo apt update && sudo apt dist-upgrade
, und ich vermute, das muss sie kaputt gemacht haben. Ich habe die neueste Stockfish-Version installiert und sie in der Befehlszeile ausgeführt, und die Ausgabe ist:
./stockfish_21112912_x64_avx2: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by ./stockfish_21112912_x64_avx2)
./stockfish_21112912_x64_avx2: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by ./stockfish_21112912_x64_avx2)
./stockfish_21112912_x64_avx2: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./stockfish_21112912_x64_avx2)
Ich wollte GLIBC aktualisieren und bin auf diesen Thread gestoßen: [https://askubuntu.com/questions/736208/upgrading-glibc]: „Glibc (besser bekannt als GNU C Library) hat einen Fork für Linux, der libc6 heißt. Libc6 ist über apt verfügbar.“ Ich habe Folgendes ausgeführt:
apt-cache policy libc6
, was die folgende Ausgabe ergab:
libc6:
Installed: 2.31-0ubuntu9.2
Candidate: 2.31-0ubuntu9.2
Version table:
*** 2.31-0ubuntu9.2 500
500 http://de.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
100 /var/lib/dpkg/status
2.31-0ubuntu9 500
500 http://de.archive.ubuntu.com/ubuntu focal/main amd64 Packages
Das sagt mir, dass innerhalb der „normalen“ Pakete 2.31 die offizielle Version für meine Betriebssystemversion (Ubuntu 20.04) ist.
Also habe ich versucht, es manuell zu machen:Wie installiere ich eine libc6-Version >= 2.29?
Ich habe libc6_2.34-0ubuntu3_amd64.deb heruntergeladen vonhttp://archive.ubuntu.com/ubuntu/pool/main/g/glibc/, wie beschrieben, aber als ich Folgendes ausführte sudo dpkg -i libc6_2.34-0ubuntu3_amd64.deb
, trat der folgende Fehler auf:
dpkg: regarding libc6_2.34-0ubuntu3_amd64.deb containing libc6:amd64:
libc6:amd64 breaks fakeroot (<< 1.25.3-1.1ubuntu2~)
fakeroot (version 1.24-1) is present and installed.
dpkg: error processing archive libc6_2.34-0ubuntu3_amd64.deb (--install):
installing libc6:amd64 would break fakeroot, and
deconfiguration is not permitted (--auto-deconfigure might help)
Errors were encountered while processing:
libc6_2.34-0ubuntu3_amd64.deb
Wie löse ich das? Ich bin ein ziemlicher Neuling, also am liebsten ohne mein System zu beschädigen
Antwort1
Es ist darauf hinzuweisen, dasshttps://abrok.eu/stockfisch/ist nicht offiziell, der Autor sagt eindeutig, dass die Pakete mit gcc 11.2/mingw 10 auf Ubuntu 21.10 kompiliert wurden.
Während Sie 20.04 LTS ausführen, was älter ist, haben auch ältere libc und andere Kernsystemkomponenten.
Ich sehe zwei mögliche Lösungen:
Offizielle Pakete vom Entwickler
Das StockFish-Paket für UbuntuListendie folgende URL als Entwickler-Websitehttps://stockfishchess.orgBesuchen Sie uns alsohttps://stockfishchess.org/download/linux/und laden Sie dann die entsprechende Softwareverteilung herunter. Zum Zeitpunkt des Schreibens kann dies programmgesteuert wie folgt erfolgen:
cd ~/Downloads wget -c https://stockfishchess.org/files/stockfish_14.1_linux_x64_avx2.zip unzip stockfish_14.1_linux_x64_avx2.zip cd stockfish_14.1_linux_x64_avx2 chmod +x stockfish_14.1_linux_x64_avx2
und führen Sie es dann als aus
./stockfish_14.1_linux_x64_avx2
.Hinweis: Es läuft sogar auf 18.04 LTS und beschwert sich nicht über libc.
Einige PPAs von Drittanbietern
FindenPPA für StockFish ist möglich. Es endet beispielsweise mitStockFish 12.2 Deb-Paket für 20.04 LTS, das mit den folgenden Befehlen installiert werden kann:
sudo add-apt-repository ppa:savoury1/games sudo apt-get update sudo apt-get install stockfish
Hinweis: Ich bin mir hier bezüglich der AVX2-Optimierung nicht sicher.
Zurück zur StandardeinstellungVersion 11.1ist mit den folgenden Befehlen möglich:
sudo apt-get install ppa-purge sudo ppa-purge ppa:savoury1/games
Antwort2
Ich hatte das gleiche Problem mit Stockfish 15 unter Ubuntu 20.04. Es ist jedoch nicht allzu schwierig, aus dem Quellcode zu kompilieren, wenn man den Anweisungen unter folgthttps://github.com/official-stockfish/Stockfish#compiling-stockfish-yourself-from-the-sources
cd src
make help
Überprüfen Sie dann die neueste unterstützte Architektur, z. B. grep bmi2 /proc/cpuinfo
und führen Sie mit der entsprechenden Architektur Folgendes aus:
make net
make build ARCH=x86-64-bmi2