Mar*_*tis 13 upgrade package-management glibc
我在一些 GUI 中使用 Stockfish 国际象棋引擎,但昨天它停止工作了。我没有更改引擎,也没有更改界面,但是当我尝试运行引擎时,它“以代码终止......”,但它没有输出任何代码。唯一可能改变的是我定期升级我的软件包:
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)
Run Code Online (Sandbox Code Playgroud)
所以我想升级 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
Run Code Online (Sandbox Code Playgroud)
这告诉我在“正常”软件包中 2.31 是我的操作系统版本(Ubuntu 20.04)的官方版本。
所以我尝试手动执行:How to install a libc6 version >= 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
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?我是个新手,所以最好不要破坏我的系统
需要注意的是,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/,然后下载相关的软件发行版。在撰写本文时,可以通过编程方式完成,如下所示:
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
Run Code Online (Sandbox Code Playgroud)
然后将其运行为./stockfish_14.1_linux_x64_avx2.
注意:它甚至可以在 18.04 LTS 上运行,不会抱怨 libc。
一些第三方PPA
可以为 StockFish找到PPA 。例如,它将以适用于 20.04 LTS 的 StockFish 12.2 deb-package结尾,可以使用以下命令安装:
sudo add-apt-repository ppa:savoury1/games
sudo apt-get update
sudo apt-get install stockfish
Run Code Online (Sandbox Code Playgroud)
注意:我不确定这里的 AVX2 优化。
可以使用以下命令恢复到默认11.1 版本:
sudo apt-get install ppa-purge
sudo ppa-purge ppa:savoury1/games
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
39009 次 |
| 最近记录: |