首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Fedora 27中在R中安装xml2

在Fedora 27中在R中安装xml2
EN

Stack Overflow用户
提问于 2017-12-16 22:35:09
回答 2查看 1.9K关注 0票数 5

我在RStudio中安装RStudio时遇到了问题,运行Fedora 27。在运行install.packages('xml2')时,我得到以下错误:

代码语言:javascript
复制
installing to /home/ryi/R/x86_64-redhat-linux-gnu-library/3.4/xml2/libs
** R
** inst
** preparing package for lazy loading
** help
Error : /tmp/Rtmp2sKZQZ/R.INSTALL689b37bd918d/xml2/man/read_xml.Rd:47: unable to load shared object '/home/ryi/R/x86_64-redhat-linux-gnu-library/3.4/xml2/libs/xml2.so':
  libicui18n.so.58: cannot open shared object file: No such file or directory
ERROR: installing Rd objects failed for package ‘xml2’
* removing ‘/home/ryi/R/x86_64-redhat-linux-gnu-library/3.4/xml2’
Warning in install.packages :
  installation of package ‘xml2’ had non-zero exit status

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

我注意到在我的/usr/lib64/中,我只有libicui18n.so.57,所以我尝试在那里复制一个libicui18n.so.58,得到了以下错误:

代码语言:javascript
复制
installing to /home/ryi/R/x86_64-redhat-linux-gnu-library/3.4/xml2/libs
** R
** inst
** preparing package for lazy loading
** help
Error : /tmp/Rtmp908Ecf/R.INSTALL653812e0e41f/xml2/man/read_xml.Rd:47: unable to load shared object '/home/ryi/R/x86_64-redhat-linux-gnu-library/3.4/xml2/libs/xml2.so':
  libicuuc.so.58: cannot open shared object file: No such file or directory
ERROR: installing Rd objects failed for package ‘xml2’
* removing ‘/home/ryi/R/x86_64-redhat-linux-gnu-library/3.4/xml2’
Warning in install.packages :
  installation of package ‘xml2’ had non-zero exit status

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

我注意到了同样的问题--我有版本.57,而不是这个库的.58版本。在我反复重复之前,这实际上是一个共享库问题吗?或者,有没有办法一次解决这个问题?

我已经安装了xml2 (libxml2-devel-2.9.5-2.fc27.x86_64)。

EN

回答 2

Stack Overflow用户

发布于 2017-12-17 02:11:38

因为还没有人回答这个问题,而且我找到了一个麻烦的解决方案,所以我想我应该给出一个最新的结果。

我的问题似乎是,即使在安装libxml2 2-devel时,我在/usr/lib64中拥有的库的版本也不是xml2包所要求的版本。例如,关于我在上面的问题libicuuc.so.58中提到的特定包,只有libicuuc.so.57可以在/usr/lib64中找到。

运行locate libicuuc.so.58时,我发现anaconda3有正确的库版本,因此我暂时解决了上述问题,只需将~/anaconda3/lib添加到$LD_LIBRARY_PATH中,大致遵循这里的说明

这有点麻烦,但是成功地安装了。

编辑(IMPORTANT)__:将~/anaconda3/lib添加到.bashrc中的LD_LIBRARY_PATH会导致登录循环,可能是因为Fedora试图使用错误的库。为了解决这个问题,我添加了几行代码:

代码语言:javascript
复制
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/ryi/anaconda3/lib/
export LD_LIBRARY_PATH

R_HOME/etc/ldpaths

票数 3
EN

Stack Overflow用户

发布于 2019-03-22 07:18:22

我通过按源代码安装ICU4C解决了这个问题:

  1. 从: ICU4C 58.2下载ICU-项目
  2. 编译好的
  3. 将库位置添加到$LD_LIBRARY_PATH中,

安装将正常工作。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47850562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档