rjags
Web page: https://sourceforge.net/projects/mcmc-jags/files/rjags/.
4-16
This is furnished as follows under icelake,
module load jags-4.3.0-gcc-5.4.0-4z5shby
Rscript -e 'install.packages("rjags")'
Otherwise we still mask the default configure
command and generate a customised Makevars
,
Rscript -e 'download.packages"rjags",".")
tar xvfz rjags_4-16.tar.gz
cd rjags
mv configure configure.sav
cat << 'EOL' > src/Makevars
PKG_CPPFLAGS=-I/usr/local/include/JAGS
PKG_LIBS=-L:/usr/local/lib -ljags
EOL
cd -
R CMD INSTALL rjags
say JAGS is with /usr/local
– this is generic since the script was for Fedora 38.
Once this is done, R2jags
can also be installed.
4-13
This following can be adapted from rjags/src
under Fedora 37 for R-devel,
g++ -std=gnu++14 -I"/home/jhz22/R-devel/include" -DNDEBUG -I/usr/local/include/JAGS -fpic -g -O2 -c jags.cc -o jags.o
g++ -std=gnu++14 -I"/home/jhz22/R-devel/include" -DNDEBUG -I/usr/local/include/JAGS -fpic -g -O2 -c parallel.cc -o parallel.o
This is due to call such as #include <rng/RNGFactory.h>
as in parallel.cc
is within /usr/local/include/JAGS.
4-6
It is known for sometime for its difficulty to install; here is what was done
# Cardio
export PKG_CONFIG_PATH=/scratch/$USER/lib/pkgconfig
R CMD INSTALL rjags_4-6.tar.gz --configure-args='CPPFLAGS="-fPIC" LDFLAGS="-L/scratch/$USER/lib -ljags"
--with-jags-prefix=/scratch/$USER
--with-jags-libdir=/scratch/$USER/lib
--with-jags-includedir=/scratch/$USER/include'
# csd3
export hpcwork=/rds-d4/user/$USER/hpc-work
export PKG_CONFIG_PATH=${hpcwork}/lib/pkgconfig
wget https://cran.r-project.org/src/contrib/rjags_4-10.tar.gz
R CMD INSTALL rjags_4-10.tar.gz --configure-args='CPPFLAGS="-fPIC" LDFLAGS="-L${hpcwork}/lib -ljags"
--with-jags-prefix=${hpcwork}
--with-jags-libdir=${hpcwork}/lib
--with-jags-includedir=${hpcwork}/include'
As is with the module jags-4.3.0-gcc-5.4.0-4z5shby
, we would see this error message from R 4.1.0,
** testing if installed package can be loaded from temporary location
Error: package or namespace load failed for ‘rjags':
.onLoad failed in loadNamespace() for 'rjags', details:
call: dyn.load(file, DLLpath = DLLpath, ...)
error: unable to load shared object '/rds/user/jhz22/hpc-work/R/00LOCK-rjags/00new/rjags/libs/rjags.so':
/rds/user/jhz22/hpc-work/R/00LOCK-rjags/00new/rjags/libs/rjags.so: undefined symbol: _ZN4jags7Console10setRNGnameERKNSt7__cxx1112basic_stringIcSt11char_t$
Error: loading failed
Execution halted
ERROR: loading failed
then this is due to different versions of compilers were used to build JAGS and rjags, so the former needs to be rebuilt.