[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