0

由于我安装了最新版本的 Ubuntu (20.04),所以 R (4.02) 无法正常工作。如果我尝试从终端启动 R,我会收到以下消息:

R-4.0.2/bin/exec/R: error while loading shared libraries: libreadline.so.7: cannot open shared object file: No such file or directory

在网上查了一下,发现我有Libreadline6和8,但没有7,所以我手动安装了。

apt policy libreadline7
libreadline7:i386:
  Installé : 7.0-3
  Candidat : 7.0-3
 Table de version :
 *** 7.0-3 100
        100 /var/lib/dpkg/status

所以现在我确实有 R 需要的版本,但是当我尝试运行它时,我有完全相同的错误消息。我什至不知道在什么方向寻找解决方案,我认为这不是 R 的问题,而是 Ubuntu ......知道可能是什么问题吗?谢谢!

4

1 回答 1

1

首先要做的事情:你从哪里得到你的 R 包?

由于 Michael Rutter 基于我维护的 Debian 包构建的东西,我正在运行 CRAN 提供的“官方”Ubuntu“backport”。那里没有问题,对我和我成千上万的其他人都没有。让我们检查一下:

$ dpkg -s r-base-core | grep Version
Version: 4.0.2-1.2004.0
$
$ dpkg -s r-base-core | grep readline
Depends: zip, unzip, [...edited...] , libreadline8 (>= 6.0), [...ditto...]
$ 

所以该版本是针对 libreadline8 而不是 7 构建的。那么为什么/如何拥有 7?

也许对你来说最容易升级到我这里的二进制文件?有关更多信息,请参阅CRAN 的常规自述文件

其次,即使您使用较旧的 R(比如 20.04 附带的 R),作为另一个包的依赖项的 libreadline 也不会卸载。

所以也许你自己编译了这个包?在这种情况下apt ,不知道二进制文件/usr/local/bin具有依赖关系,因为您在包管理系统之外!同样,最容易使用预制的二进制文件。

于 2020-10-09T13:57:10.367 回答