在 linux mint 上更新 glibc 以安装 sbcl

Updating glibc on linux mint for sbcl install

我正在尝试正确安装 SBCL sbcl-2.0.0-x86-64-linux。提取和安装完成,没有任何问题。

但是,在 $ 提示符下键入 'sbcl' 以启动 SBCL 运行 时,出现错误消息:

sbcl:/lib/x86_64-linux-gnu/libc.so.6:未找到版本“GLIBC_2.28”(sbcl 要求)。

我的平台是 Linux Mint 19.3,所有更新如下所示:

$ hostnamectl
   Static hostname: Lumpy
         Icon name: computer-desktop
           Chassis: desktop
        Machine ID: f3d85c83fd6e458aba76dbf56f683032
           Boot ID: e7a1a123ce29458c90ebca9f77ea3888
  Operating System: Linux Mint 19.3
            Kernel: Linux 5.0.0-37-generic
      Architecture: x86-64

此外,libc6 版本似乎比要求的 2.28 更旧:

$ apt-cache policy libc6
libc6:
  Installed: 2.27-3ubuntu1
  Candidate: 2.27-3ubuntu1
  Version table:
 *** 2.27-3ubuntu1 500
        500 http://archive.ubuntu.com/ubuntu bionic/main amd64 Packages
        100 /var/lib/dpkg/status

有没有简单的方法可以更新到 libc6 的 ver 2.28?或者,也许ps 必须回到以前的 SBCL?

(ps:我是 linux 的新手,所以任何指示都必须相当清楚 — 谢谢。)

虽然可以更新 glibc,但您并不想这样做。构建 glibc 非常复杂,发行版应用了大量补丁来使它正常工作。如果您更换它,事情可能会以令人兴奋的方式崩溃。

您最好构建 SBCL 或寻找其他软件包。例如,您可以下载 Debian 源码包并自行构建。如果你想这样做,你可以从 packages.debian.org 页面的右侧下载三个源文件并将它们放在一个目录中。然后 运行:

apt install build-essential fakeroot
dpkg-source -x *.dsc
cd sbcl*
dpkg-buildpackage -us -uc -rfakeroot

它可能会抱怨丢失一个或多个包裹;使用 apt install PACKAGE 安装它们,然后再试一次,直到你有一个二进制包,它会在上面的目录中。