如何在 archlinux 中保留同一个包的两个版本?

Nic*_*ick 9 arch-linux pacman

我正在运行 Archlinux。最近,一个名为的包icu得到了更新;但是,Firefox 取决于libicuuc.so.56,而 R 取决于libicuuc.so.55. 我怎么解决这个问题?

注意:R 包是针对Intel MKLlibiary 构建的,因此它不适用于新版本的依赖项。我试图重建 R——它仍然取决于旧的libicuuc.so.55

Ale*_*der 8

我假设您希望使用旧库运行特定的可执行文件。让我们调用可执行文件myprogram

如果您放置libicuuc.so.55在不同的目录中,例如/opt/oldlibs/libicuuc.so.55可以通过如下命令指示myprogram使用旧库:

LD_LIBRARY_PATH=/opt/oldlibs myprogram

可以从包文件中提取库文件(您可能可以在 中找到/var/cache/pacman/pkg)。

如果这不能解决您打算如何使用应用程序的问题,您可以考虑在受限环境(使用chroot)或容器中运行它。