我已经在我办公室台式电脑的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 object Got message unable to load shared object stats.so when R starts
有没有办法解决这个问题?这可能是原因?什么是未定义的符号_ZSt24__throw_out_of_range_fmtPKcz
?
答案 0 :(得分:1)
.libPaths()
什么是输出?
我今天使用最新更新遇到了同样的问题( R 3.3.1 for MacOS X )。更新后,我的R安装似乎崩溃了。我的解决方案只是从文件系统中删除lib目录并重新安装R:
rm -rf /Users/johann/Library/R/3.3/library
sudo rm -rf Library/Frameworks/R.framework/Versions/3.3/Resources/library
希望这会有所帮助......
答案 1 :(得分:0)
问题是与g ++ stdlib的链接。不同版本的Ubuntu有不同版本的g ++ stdlib。你总是不能将二进制文件从一个复制到另一个。
您可以通过重新编译笔记本电脑的R或使用Ubuntu R软件包来解决此问题。例如http://packages.ubuntu.com/xenial/r-base
答案 2 :(得分:0)
我在Ubuntu上的rgdal
有一个类似的问题。重新安装该软件包足以使它再次运行。
$ sudo R
> install.packages("rgdal")
> quit()
$ exit
答案 3 :(得分:0)
open /Library/Frameworks/R.framework/Resources/library
,然后按Enter。查找器窗口应该打开,其中包含很多文件夹install.packages("dplyr")
等安装所需的软件包这样做之后,问题就消失了