R:错误安装包UBUNTU - dyn.load中的错误(文件,DLLpath = DLLpath,...):无法加载共享对象

时间:2015-11-07 21:37:57

标签: r rstudio

我在安装任何软件包时遇到问题,也是从软件包存档中安装的。在这种情况下,显示错误尝试安装ggp​​lot2:

* installing *source* package ‘ggplot2’ ...
** package ‘ggplot2’ successfully unpacked and MD5 sums checked
** R
** data
*** moving datasets to lazyload DB
** inst
** preparing package for lazy loading
Error in dyn.load(file, DLLpath = DLLpath, ...) : 
  unable to load shared object '/home/juanchi/R/x86_64-pc-linux-gnu-library/3.2/stringi/libs/stringi.so':
  libicui18n.so.52: no se puede abrir el archivo del objeto compartido: No existe el archivo o el directorio
ERROR: lazy loading failed for package ‘ggplot2’
* removing ‘/home/juanchi/R/x86_64-pc-linux-gnu-library/3.2/ggplot2’
Warning in install.packages :
  installation of package ‘ggplot2’ had non-zero exit status

The downloaded source packages are in
    ‘/tmp/RtmpVU9aIn/downloaded_packages’

这是我的会话信息

> sessionInfo()
R version 3.2.2 (2015-08-14)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 15.10

locale:
 [1] LC_CTYPE=pt_BR.UTF-8       LC_NUMERIC=C               LC_TIME=pt_BR.UTF-8       
 [4] LC_COLLATE=es_ES.UTF-8     LC_MONETARY=pt_BR.UTF-8    LC_MESSAGES=es_ES.UTF-8   
 [7] LC_PAPER=pt_BR.UTF-8       LC_NAME=C                  LC_ADDRESS=C              
[10] LC_TELEPHONE=C             LC_MEASUREMENT=pt_BR.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] rsconnect_0.4.1.4 tools_3.2.2     

提前致谢!!

2 个答案:

答案 0 :(得分:9)

升级到Ubuntu 15.10意味着ICU库从第52版升级到更新版本(55,如果我记得的话)。但是stringi包是针对52构建的,现在已经坏了。当你的R包在Ubuntu包管理系统之外时,这可能会发生。

所以你需要重新安装ggp​​lot2所需的stringi,然后ggplot2将安装并加载,避免让你失望。

您可以使用预构建的版本的ggplot2及其依赖项来避免这些升级问题:执行sudo apt-get install r-cran-ggplot2

答案 1 :(得分:0)

谢谢Dirk,您通过ubuntu终端安装软件包的建议也解决了我的问题:当我尝试在Ubuntu 15.10上安装reshape2时,我收到了几乎相同的错误消息。

我只是, 1)通过R终端卸载当前安装的reshape2版本(如果使用R-Studio,也可以在列出软件包的“软件包”窗口中执行此操作), 2)在ubuntu终端中运行sudo apt-get install r-cran-reshape2, 3)重新启动计算机。