我在一些 GUI 中使用 Stockfish 国际象棋引擎,但昨天它停止工作。我没有更改引擎,也没有更改界面,但是当我尝试运行引擎时,它“以代码终止......”,但它没有输出任何代码。唯一可以改变的是我定期升级我的 packages:
sudo apt update && sudo apt dist-upgrade
,我想这一定是破坏了它。我安装了最新的 Stockfish 版本并在命令行中运行它,它给出的输出是:
./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)
所以我想升级 GLIBC,我遇到了这个线程:[https://askubuntu.com/questions/736208/upgrading-glibc]:“Glibc(更广为人知的 GNU C 库)有一个用于 linux 的分支,称为 libc6 .Libc6 可通过 apt 获得。” 我跑了:
apt-cache policy libc6
,它给出了输出:
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
这告诉我“正常”包中的 2.31 是我的操作系统版本(Ubuntu 20.04)的正式版本。
所以我尝试手动进行:如何安装 libc6 版本 >= 2.29?
如前所述,我从http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/下载了 libc6_2.34-0ubuntu3_amd64.deb ,但是当我运行 : 时sudo dpkg -i libc6_2.34-0ubuntu3_amd64.deb
,它产生了以下错误:
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
我该如何解决这个问题?我有点新手,所以最好不要破坏我的系统
需要注意的是https://abrok.eu/stockfish/不是官方的,作者明确表示这些包是在 Ubuntu 21.10 上使用 gcc 11.2/mingw 10 编译的。
当您运行较旧的 20.04 LTS 时,较旧的 libc 和其他核心系统组件也是如此。
我看到两种可能的解决方案:
来自开发者的官方包
用于 Ubuntu 的 StockFish 软件包将以下 URL 列为开发人员的网站https://stockfishchess.org。所以你应该访问https://stockfishchess.org/download/linux/然后下载相关的软件发行版。在撰写本文时,它可能以编程方式完成,如下所示:
然后将其作为
./stockfish_14.1_linux_x64_avx2
.注意:它甚至可以在 18.04 LTS 上运行,不会抱怨 libc。
一些第三方 PPA
为 StockFish找到PPA 是可能的。例如,它将以StockFish 12.2 deb-package for 20.04 LTS结束,可以使用以下命令安装:
注意:我不确定这里的 AVX2 优化。
使用以下命令可以恢复到默认的11.1 版本: