我最近升级到F24,现在在我的R会话中我无法加载一些软件包,sp。 reshape2,latex2exp,knitr等。
我发现的最初问题是F24使用libicu56,而这些包期望libicu54。我按照this thread中的建议设置了所需版本的符号链接:
ln -s /usr/lib64/libicui18n.so.56 /usr/lib64/libicui18n.so.54
ln -s /usr/lib64/libicuuc.so.56 /usr/lib64/libicuuc.so.54
ln -s /usr/lib64/libicudata.so.56 /usr/lib64/libicudata.so.54
最初的错误消失了,但现在我有了这个:
Error in dyn.load(file, DLLpath = DLLpath, ...) :
unable to load shared object '/home/uname/R/x86_64-redhat-linux-gnu-library/3.3/stringi/libs/stringi.so':
/home/uname/R/x86_64-redhat-linux-gnu-library/3.3/stringi/libs/stringi.so: undefined symbol: _ZTIN6icu_548ByteSinkE
这导致我使用R的stringi包,但我无法加载它 - 它给出了同样的错误。
我已经更新了F24和所有R包。
有什么想法吗?
答案 0 :(得分:3)
我可以通过从CRAN下载tar.gz软件包在fedora 24上安装软件包 stringi ,然后运行以下命令:
R CMD INSTALL stringi_1.1.1.tar.gz --configure-args='--disable-pkg-config'
答案 1 :(得分:1)
在icu(Gentoo)更新之后发生了这件事。另一个解决方案是删除并再次安装stringi,因为它正在查找不再存在的特定库文件。
remove.packages('stringi')
install.packages('stringi')
如果您的.Rprofile
触发library(stringi)
,那么您必须使用R --vanilla
开始会话才能执行此操作,否则它将继续失败。
--disable-pkg-config
的其他解决方案也适用。它将使stringi为自己构建icu而不是依赖于系统(源代码附带icu副本)。