我在办公室的台式电脑上做R项目已经有一段时间了,但是在旅行时需要随身携带脚本。我把所有的东西都复制到了笔记本电脑上,并对代码做了一些修改。唉,当我试图编译时(遵循我在台式电脑上使用的完全相同的过程),出现了以下错误:
$ R CMD INSTALL --no-multiarch --with-keep.source coala
* installing to library ‘/home/my_pc/R/x86_64-pc-linux-gnu-library/3.3’
* installing *source* package ‘coala’ ...
** libs
make: Nothing to be done for `all'.
installing to /home/my_pc/R/x86_64-pc-linux-gnu-library/3.3/coala/libs
** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
Error in dyn.load(file, DLLpath = DLLpath, ...) :
unable to load shared object '/home/my_pc/R/x86_64-pc-linux-gnu-library/3.3/coala/libs/coala.so':
/home/my_pc/R/x86_64-pc-linux-gnu-library/3.3/coala/libs/coala.so: undefined symbol: _ZSt24__throw_out_of_range_fmtPKcz
Error: loading failed
Execution halted
ERROR: loading failed
* removing ‘/home/my_pc/R/x86_64-pc-linux-gnu-library/3.3/coala’
* restoring previous ‘/home/my_pc/R/x86_64-pc-linux-gnu-library/3.3/coala’
两台计算机都有相同的Ubuntu,但不同的R版本。另外,我必须提到,我同时在两个库中工作,并且随附的库更新没有问题,这使得这个错误消息更加令人费解。我已经检查了可能与这个问题相关的答案,但无法找出如何应用他们的解决方案:
R: error installing packages UBUNTU - Error in dyn.load(file, DLLpath = DLLpath, ...) : unable to load shared objectGot message unable to load shared object stats.so when R starts
有什么办法可以解决这个问题吗?可能的原因是什么?未定义的符号_ZSt24__throw_out_of_range_fmtPKcz
是什么?
4条答案
按热度按时间tpgth1q71#
我在Ubuntu上的
rgdal
也遇到过类似的问题,重新安装这个软件包就足以让它重新工作了。erhoui1w2#
.libPaths()
的输出是什么?我今天在使用最新的更新(R 3.3.1 for MacOS X)时遇到了同样的问题,我的R安装在更新后似乎崩溃了,我的解决方法是从文件系统中删除lib目录并重新安装R:
希望这能帮上忙...
mwecs4sa3#
问题是与你的g++ stdlib的链接。不同版本的Ubuntu有不同版本的g++ stdlib。你不能总是把二进制文件从一个复制到另一个。
您可以通过为笔记本电脑重新编译R或使用Ubuntu R包来修复此问题。例如http://packages.ubuntu.com/xenial/r-base
zu0ti5jz4#
适用于Mac / Linux
1.按命令+空格键
1.键入terminal并按回车键打开terminal。在terminal中粘贴此
open /Library/Frameworks/R.framework/Resources/library
并按回车键。应打开一个带有许多文件夹的查找窗口1.每个文件夹都与一个已安装的R包相匹配。
1.将它们全部删除,关闭RStudio,重新打开RStudio,然后使用
install.packages("dplyr")
等安装所需的包在我这样做之后,问题就消失了