22.04 下的 Gcc Emacs:缺少 libotf0

22.04 下的 Gcc Emacs:缺少 libotf0

我的emacs可执行文件指向从以下源代码安装的版本 28这些说明,并且在 21.10 下按预期工作。移至 22.04 后,运行emacs返回以下内容:

libotf.so.0: cannot open shared object file: No such file or directory

确实,它不可用:

ll /usr/lib/x86_64-linux-gnu/libotf.so*
-rw-r--r-- 1 root root 1MB Mar 24 13:14 /usr/lib/x86_64-linux-gnu/libotf.so.1.0.0
-rw-r--r-- 1 root root 1MB Mar 24 13:14 /usr/lib/x86_64-linux-gnu/libotf.so.1
-rw-r--r-- 1 root root 1MB Mar 24 13:14 /usr/lib/x86_64-linux-gnu/libotf.so

在搜索 22.04 的可用软件包之后,似乎libotf0不再包含它,尽管libotf1它确实包含在内。

因此我简单地改变了库的名称:

sudo cp /usr/lib/x86_64-linux-gnu/libotf.so.{1,0}

并且emacs似乎运行正常。有没有更强大的方法来处理此类问题?

答案1

在我看来,这似乎是一种可行的破解方法,并且我认为以在 Ubuntu 22.04 中安装的方式运行 Emacs 28.1 没有任何问题。如果您在 Ubuntu 22.04 中遇到 Emacs 28.1 问题,可以使用以下命令将 Emacs 28.1 安装为 snap 包:

sudo snap install emacs --classic  

安装 snap 包是获取 Ubuntu 中许多流行开源应用程序的最新版本的一种用户友好的方式。

答案2

您可以配置 Emacs 构建以排除 libotf

./configure --without-libotf

我发现https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=emacs-git

相关内容