我正在尝试安装软件包" rjags"在R中但遇到以下错误:
Loading required package: rjags
Error : .onLoad failed in loadNamespace() for 'rjags', details:
call: dyn.load(file, DLLpath = DLLpath, ...)
error: unable to load shared object '/Library/Frameworks/R.framework/Versions/3.1/Resources/library/rjags/libs/rjags.so':
dlopen(/Library/Frameworks/R.framework/Versions/3.1/Resources/library/rjags/libs/rjags.so, 10): Symbol not found: __ZN5RangeC1ERKSt6vectorIiSaIiEES4_
Referenced from: /Library/Frameworks/R.framework/Versions/3.1/Resources/library/rjags/libs/rjags.so
Expected in: /usr/local/lib/libjags.3.dylib
in /Library/Frameworks/R.framework/Versions/3.1/Resources/library/rjags/libs/rjags.so
Error: package ‘rjags’ could not be loaded
我已经在我的Mac上安装了JAGS(运行Mavericks),我正在运行R-3.1.2。我已按照此site的建议尝试使用devtools
包从网址进行安装:
install_url("http://sourceforge.net/projects/mcmc-jags/files/rjags/3/rjags_3-2.tar.gz",
args="--configure-args='--with-jags-include=/Users/casallas/homebrew/opt/jags/include/JAGS
--with-jags-lib=/Users/casallas/homebrew/opt/jags/lib'
"
)
我还查看了此other site上的说明,尝试了不同版本的JAGS并收到相同的错误。我不知道接下来会尝试什么,我确信解决方案很简单。有没有人有任何见解?非常感谢!
答案 0 :(得分:0)
我发现虽然我无法从网址安装rjags,但如果我从计算机上安装了源代码,那么我就成功了。我通过从here(对我来说是rjags_3-14.tgz)下载相应的包来执行此操作并运行以下命令:
install.packages(path_to_file, repos = NULL, type="source")
答案 1 :(得分:0)
错误:
Symbol not found: __ZN5RangeC1ERKSt6vectorIiSaIiEES4_
(几乎)总是由Mavericks构建的R(实际上是rjags)和Snow Leopard构建的JAGS(反之亦然)之间的标准库之间的不匹配引起。有关详细信息,请参阅https://sourceforge.net/projects/mcmc-jags/files/JAGS/3.x/Mac%20OS%20X/
上的说明我猜测自己从源代码编译包是因为它与JAGS正在使用的标准库的版本匹配,但是这将不再匹配R正在使用的版本(虽然我不确定这是否是一个主要问题,不建议)。你最好匹配R和JAGS的构建,并使用CRAN中预先构建的rjags库。
有趣的是,你说你已经尝试了两种JAGS版本,但我建议你再试一次:
1)在R中使用.Platform $ pkgType来确认你是使用mac.binary(SL)还是mac.binary.mavericks(Mavericks) - 或者没有从CRAN重新安装R的Mavericks二进制文件
2)退出R
3)重新安装适当版本的JAGS
4)重新打开R并从CRAN重新安装rjags库
5)尝试库(rjags)
如果这不起作用,您可以提供更多信息,以便我可以尝试跟踪JAGS构建可能出现的问题吗?
谢谢,
马特