[R] unable to install rjags on 64-bit Debian Linux (etch)

Roger Levy rlevy at ucsd.edu
Sun Nov 9 22:23:32 CET 2008


plummer at iarc.fr wrote:
> Quoting Prof Brian Ripley <ripley at stats.ox.ac.uk>:
> 
>> On Sat, 8 Nov 2008, Roger Levy wrote:
>>
>>> While I have been able to install rjags on my Windows computer, oddly I
>> have
>>> been unable to install rjags successfully on my 64-bit Linux compute server
>>> (etch, Linux kernel 2.6.18).  I am required to specify the JAGS module
>>> directory upon installation; when doing this within R, I get:
>>>
>>>
> install.packages("rjags",configure.args="--with-jags-modules=/usr/local/lib/JAGS/modules/")
>>> which works fine, but then trying to load rjags gives an error:
>>>
>>>> library(rjags)
>>> \Error in dyn.load(file, DLLpath = DLLpath, ...) :
>>>  unable to load shared library
>>> '/usr/local/lib64/R/library/rjags/libs/rjags.so':
>>>  libjags.so.1: cannot open shared object file: No such file or directory
>>> Error : .onLoad failed in 'loadNamespace' for 'rjags'
>>> Error: package/namespace load failed for 'rjags'
>>>
>>> I'm not sure how to read this error.  Does anyone have any suggestions?
>> It means that ld.so (the runtime linker) cannot find libjags.so.1.
>>
>> Where is your libjags.so.1?  My guess is that you installed it into
>> /usr/local/lib, since that is what you have for your module path.  On a
>> 64-bit Linux system it should be in /usr/local/lib64.  (I had to tell the
>> JAGS installation that via libdir=/usr/local/lib64 on the configure line.)
> 
> Debian conforms to the filesystem hierarchy standard (FHS) which
> states that libraries go in <prefix>/lib and alternative format
> binaries go in <prefix>/lib<qual>.  I would prefer it if everyone
> agreed on where 64-bit libraries should go. But they don't.
> 
> In the mean time, we have to rely on binary packaging to do "the
> right thing" on each platform.  On Fedora, the rpmbuild system
> passes all the right arguments to the configure script so that
> JAGS is installed into /usr/lib64.

Brian, Martyn,

Many thanks for your responses -- the issue was indeed that the JAGS .so 
files were in the wrong place.  I re-installed JAGS with the command

   ./configure –with-jags-modules=/usr/local/lib/JAGS/modules 
–libdir=/usr/local/lib64

and then installation of rjags went off without a hitch.

I posted the final set of commands I used for installation online:

 
http://quote.ucsd.edu/blogs/rogblog/2008/11/09/installing-rjags-on-64-bit-debian-etch/

so that anyone else running into the same issue is a bit more likely to 
find the answer without undue pain.

Best & thanks again.

Roger



More information about the R-help mailing list