在OSX Mavericks上安装r中的rjags

时间:2015-02-10 00:58:50

标签: r jags

我正在尝试安装软件包" 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并收到相同的错误。我不知道接下来会尝试什么,我确信解决方案很简单。有没有人有任何见解?非常感谢!

2 个答案:

答案 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构建可能出现的问题吗?

谢谢,

马特