- Install jags: in the terminal using homebrew
brew install jags
- Install rjags: in R
install.packages("rjags")
library(rjags)
If you run into a problem like:
configure: error: C++ compiler cannot create executables
It's probably because R is not finding the right compiler, therefore you need to create or modify the file ~/.R/Makevars
Setting the correct CC and CXX, in my case:
CC=clang
CXX=clang++
Do this and then retry install.packages("rjags")
or devtools::install_url
.
I installed jags
via homebrew. However, my homebrew is setup on my home directory (/Users/casallas/homebrew
) rather than the default, /usr/local
.
When I do
install.packages("rjags")
everything works fine, except that loading the library doesn't work:
library(rjags)
Error : .onLoad failed in loadNamespace() for 'rjags', details:
call: dyn.load(file, DLLpath = DLLpath, ...)
error: unable to load shared object '/Users/casallas/Library/R/3.0/library/rjags/libs/rjags.so':
dlopen(/Users/casallas/Library/R/3.0/library/rjags/libs/rjags.so, 10): Library not loaded: /usr/local/lib/libjags.3.dylib
Referenced from: /Users/casallas/Library/R/3.0/library/rjags/libs/rjags.so
Reason: image not found
Error: package or namespace load failed for ‘rjags’
As you can see, rjags
is expecting jags to be in /usr/local
.
The easiest solution is to install rjags
from source, using devtools::install_url
with the following configure.args
, as specified in rjags README:
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'
"
)
Good evening,
I installed jags from source as you suggested in the solution above but I get the following error:
Downloading package from url: http://sourceforge.net/projects/mcmc-jags/files/rjags/3/rjags_3-2.tar.gz
tar: Unrecognized archive format
tar: Error exit delayed from previous errors.
tar: Unrecognized archive format
tar: Error exit delayed from previous errors.
Error in if (!file.exists(file.path(pkg_path, "DESCRIPTION"))) { :
argument is of length zero
In addition: Warning messages:
1: In utils::untar(src, exdir = target, compressed = "gzip") :
‘/usr/bin/tar -xf '/var/folders/0b/xd0wy5jx0t1cd2tys9nktzyc0000gn/T//RtmpXIK3gv/file16e2866ff43.tar.gz' -C '/var/folders/0b/xd0wy5jx0t1cd2tys9nktzyc0000gn/T//RtmpXIK3gv/devtools16e761dfac8'’ returned error code 1
2: running command '/usr/bin/tar -tf '/var/folders/0b/xd0wy5jx0t1cd2tys9nktzyc0000gn/T//RtmpXIK3gv/file16e2866ff43.tar.gz'' had status 1
3: In min(slashes) : no non-missing arguments to min; returning Inf
I have been following all instructions. Thanks for giving me any suggestion :)