如何处理 Arch Linux 上缺少 libcrypt.so.1 的情况?

bla*_*ome 29 arch-linux pacman glibc

如何处理libcrypt.so.1Arch Linux 上的缺失问题?

\n

尝试运行openoffice4LibreOffice二进制文件)会导致:

\n
/opt/openoffice4/program/javaldx: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory\n/opt/openoffice4/program/soffice.bin: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory\n
Run Code Online (Sandbox Code Playgroud)\n

该文件libcrypt.so.1确实不存在。然而,有:

\n
\xe2\x94\x94[/usr/lib]> ls -al libcrypt*\nlrwxrwxrwx 1 root root      16 Dec 18 11:31 libcrypto.so -> libcrypto.so.1.1\n-rwxr-xr-x 1 root root 2999144 Dec 18 11:31 libcrypto.so.1.1\nlrwxrwxrwx 1 root root      23 Feb  3 12:16 libcryptsetup.so -> libcryptsetup.so.12.7.0\nlrwxrwxrwx 1 root root      23 Feb  3 12:16 libcryptsetup.so.12 -> libcryptsetup.so.12.7.0\n-rwxr-xr-x 1 root root  484192 Feb  3 12:16 libcryptsetup.so.12.7.0\nlrwxrwxrwx 1 root root      17 Feb  2 08:12 libcrypt.so -> libcrypt.so.2.0.0\nlrwxrwxrwx 1 root root      17 Feb  2 08:12 libcrypt.so.2 -> libcrypt.so.2.0.0\n-rwxr-xr-x 1 root root  165824 Feb  2 08:12 libcrypt.so.2.0.0\n
Run Code Online (Sandbox Code Playgroud)\n

简单地创建一个新的符号链接会libcrypt.so.1失败,因为这是不正确的版本:

\n
/opt/openoffice4/program/javaldx: /usr/lib/libcrypt.so.1: version `GLIBC_2.2.5\' not found (required by /opt/openoffice4/program/libuno_sal.so.3)\n/opt/openoffice4/program/soffice.bin: /usr/lib/libcrypt.so.1: version `GLIBC_2.2.5\' not found (required by /opt/openoffice4/program/libuno_sal.so.3)\n
Run Code Online (Sandbox Code Playgroud)\n

我尝试libcrypt.so.1使用以下命令查看包提供的内容pacman -F

\n

这是:

\n
core/glibc 2.33-5 [installed: 2.35-2]\n    usr/lib/libcrypt.so.1\ncore/lib32-glibc 2.33-5 [installed: 2.35-2]\n    usr/lib32/libcrypt.so.1\ncommunity/aarch64-linux-gnu-glibc 2.34-1\n    usr/aarch64-linux-gnu/lib/libcrypt.so.1\ncommunity/riscv64-linux-gnu-glibc 2.32-1 (risc-v)\n    usr/riscv64-linux-gnu/lib/libcrypt.so.1\n
Run Code Online (Sandbox Code Playgroud)\n

后两者不适用于我,因为架构不同。

\n

重新安装 glibc 和 lib32-glibc 并没有解决我的问题。此外,检查pacman -Ql有问题的文件 ( libcrypt.so.1) 是否确实存在于 glibc 和 lib32-glibc 中,并没有显示它存在。

\n

此问题似乎是在引入较新版本的 glibc 的更新后发生的:

\n
[ALPM] upgraded glibc (2.33-5 -> 2.35-2)\n
Run Code Online (Sandbox Code Playgroud)\n

我也尝试过简单地重新安装 LibreOffice。没有什么变化。

\n

小智 35

我遇到了同样的问题,我通过安装libxcrypt-compat包修复了它,该包现在可以从核心存储库中获取。