R在Ubuntu 20.04上缺少libreadline.so.7,不再起作用

时间:2020-10-09 13:47:26

标签: r ubuntu-20.04 libreadline

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

Logger.log()

经过互联网上的一些研究,我发现我有Libreadline6和8,但没有7,所以我手动安装了它。

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

所以现在我确实拥有R所需的版本,但是当我尝试运行它时,却得到了完全相同的错误消息。 我什至不知道朝哪个方向寻找解决方案,我认为R并不是问题,但Ubuntu却没有问题。任何想法可能是什么问题? 谢谢!

1 个答案:

答案 0 :(得分: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?

也许对您来说升级到我这里的二进制文件最容易?有关更多信息,请参见the usual README at CRAN

第二,即使您使用了较旧的R(例如20.04附带的R),libreadline作为另一个软件包的依存关系也无法卸载。

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