Problem solved. Just adding -ljags to my Makevars file did the trick. Thanks. On that note, is it possible to customize Makevars for different R libraries (e.g., one for compiling R, one for CRAN packages, one for each personal C module that I build for personal use, etc.). The manual seems to suggest otherwise?
On Oct 10, 2010, at 8:11 AM, <plum...@iarc.fr> wrote: > Michael, > > I do have some experience of using MKL with JAGS and left quite > detailed instructions, for Linux, in the installation manual (section 1.3.5). > > In addition to the problems noted by Brian there seem to be anomalies > with your MKL configuration: > - You are compiling with GNU compilers but trying to use the Intel > 64-bit interface layer. This will not work. > - You are using the sequential MKL library but still linking to > libpthread, which is redundant. > > As noted in the manual, on Linux I have been unable to link JAGS with > the MKL using GNU compilers, except by building a static version, which > is obviously not helpful if you want to interface to R. > > To be honest, BLAS/LAPACK performance is not a bottleneck for JAGS unless > perhaps, you have a very special problem. All of this effort to link > to MKL will probably not pay off and binary packages of both JAGS and rjags > are available and which do actually work. > > Martyn > > Quoting Prof Brian Ripley <rip...@stats.ox.ac.uk>: >> Note your link line has no reference to -ljags. Mine is (for i386, >> x86_64 is later on in the output) >> >> g++ -arch i386 -dynamiclib -Wl,-headerpad_max_install_names -undefined >> dynamic_lookup -single_module -multiply_defined suppress >> -L/usr/local/lib -o rjags.so jags.o -L/usr/local/lib -ljags >> -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework >> -Wl,CoreFoundation >> >> with no reference to -lgsl. Also, have you perhaps excluded >> /usr/local/lib (the usual place to install JAGS) from the R library >> paths? >> >> Have you contacted the maintainer? Although not a Mac user he is very >> knowledgable, including about MKL. >> >> On Sat, 9 Oct 2010, Michael Braun wrote: >> >>> Hi! >>> >>> I am trying to install rjags on my Mac Pro running OSX 10.6.4, and R >>> 2.11.1 (which I compiled myself so I could link to the Intel MKL >>> blas, which I prefer to other options). I was successfully able to >>> install JAGS 2.1.0 through both the binary installer, and compiling >>> from source (I get the same problem either way). >>> >>> But I would like to use the rjags package. When I do >>> >>> install.packages("rjags") >>> >>> >>> I get the folliowing output: >>> >>> * installing *source* package ‘rjags’ ... >>> checking for prefix by checking for jags... /usr/local/bin/jags >>> checking for g++... g++ >>> checking for C++ compiler default output file name... a.out >>> checking whether the C++ compiler works... yes >>> checking whether we are cross compiling... no >>> checking for suffix of executables... >>> checking for suffix of object files... o >>> checking whether we are using the GNU C++ compiler... yes >>> checking whether g++ accepts -g... yes >>> checking how to run the C++ preprocessor... g++ -E >>> checking for grep that handles long lines and -e... /usr/bin/grep >>> checking for egrep... /usr/bin/grep -E >>> checking for ANSI C header files... yes >>> checking for sys/types.h... yes >>> checking for sys/stat.h... yes >>> checking for stdlib.h... yes >>> checking for string.h... yes >>> checking for memory.h... yes >>> checking for strings.h... yes >>> checking for inttypes.h... yes >>> checking for stdint.h... yes >>> checking for unistd.h... yes >>> checking Console.h usability... yes >>> checking Console.h presence... yes >>> checking for Console.h... yes >>> checking for gcc... gcc >>> checking whether we are using the GNU C compiler... yes >>> checking whether gcc accepts -g... yes >>> checking for gcc option to accept ISO C89... none needed >>> checking for jags_version in -ljags... yes >>> configure: creating ./config.status >>> config.status: creating src/Makevars >>> configure: creating ./config.status >>> config.status: creating src/Makevars >>> config.status: creating R/unix/zzz.R >>> ** libs >>> *** arch - x86_64 >>> g++ -arch x86_64 -I/Library/Frameworks/R.framework/Resources/include >> -I/Library/Frameworks/R.framework/Resources/include/x86_64 >> -I/usr/local/include/JAGS >> -I/opt/intel/Compiler/11.1/089/Frameworks/mkl/Headers >> -I/Install_Files/MKL_gfortran_interface/include/em64t/lp64 -fPIC -m64 >> -msse4.2 -g -O2 -c jags.cc -o jags.o >>> g++ -arch x86_64 -dynamiclib -Wl,-headerpad_max_install_names -undefined >> dynamic_lookup -single_module -multiply_defined suppress >> -L/opt/intel/Compiler/11.1/089/Frameworks/mkl/Libraries/em64t >> -L/Users/braunm/Install_Files/MKL_gfortran_interface/lib/em64t -o rjags.so >> jags.o -lgsl -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread >> -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework >> -Wl,CoreFoundation >>> installing to /Users/braunm/.R/Library/rjags/libs/x86_64 >>> ** R >>> ** data >>> ** preparing package for lazy loading >>> ** help >>> *** installing help indices >>> ** building package indices ... >>> Error : .onLoad failed in loadNamespace() for 'rjags', details: >>> call: dyn.load(file, DLLpath = DLLpath, ...) >>> error: unable to load shared library >> '/Users/braunm/.R/Library/rjags/libs/x86_64/rjags.so': >>> dlopen(/Users/braunm/.R/Library/rjags/libs/x86_64/rjags.so, 10): Symbol >> not found: _JAGS_NA >>> Referenced from: /Users/braunm/.R/Library/rjags/libs/x86_64/rjags.so >>> Expected in: flat namespace >>> in /Users/braunm/.R/Library/rjags/libs/x86_64/rjags.so >>> ERROR: installing package indices failed >>> * removing ‘/Users/braunm/.R/Library/rjags’ >>> >>> >>> However, when I go to look at the symbols in the jags library, I see >>> >>> braunm4: /usr/local/lib $ nm libjags.dylib |grep JAGS >>> 0000000000098650 S _JAGS_NA >>> 0000000000110338 S _JAGS_NAN >>> 0000000000110348 S _JAGS_NEGINF >>> 0000000000110340 S _JAGS_POSINF >>> 000000000000133c t __GLOBAL__I_JAGS_NA >>> >>> and when I try >>> >>> braunm4: /usr/local/lib $ nm libjags.a |grep JAGS >>> U _JAGS_NA >>> U _JAGS_NEGINF >>> U _JAGS_NA >>> U _JAGS_NA >>> 0000000000000060 S _JAGS_NA >>> 00000000000000b8 B _JAGS_NAN >>> 00000000000000c8 B _JAGS_NEGINF >>> 00000000000000c0 B _JAGS_POSINF >>> U _JAGS_NA >>> U _JAGS_NEGINF >>> U _JAGS_POSINF >>> U _JAGS_NEGINF >>> U _JAGS_POSINF >>> U _JAGS_NEGINF >>> U _JAGS_NA >>> U _JAGS_NEGINF >>> U _JAGS_NEGINF >>> U _JAGS_NA >>> U _JAGS_NEGINF >>> U _JAGS_POSINF >>> >>> >>> So the jags libraries (both static and dynamic) are in the standard place, >> and it looks like the symbols rjags.so needs are there as well. So I'm not >> sure what the rjags installer is looking for. Is there perhaps an >> environment variable that I am missing? >>> >>> Here is my sessionInfo(): >>> >>>> sessionInfo() >>> R version 2.11.1 (2010-05-31) >>> x86_64-apple-darwin10.4.2 >>> >>> locale: >>> [1] en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8 >>> >>> attached base packages: >>> [1] stats grDevices datasets graphics utils methods base >>> >>> other attached packages: >>> [1] xtable_1.5-6 doMC_1.2.1 multicore_0.1-3 foreach_1.3.0 >> codetools_0.2-2 iterators_1.0.3 coda_0.13-5 matrixcalc_1.0-1 >> lattice_0.18-8 reshape_0.8.3 plyr_1.2.1 >>> [12] mvtnorm_0.9-92 >>> >>> loaded via a namespace (and not attached): >>> [1] grid_2.11.1 tcltk_2.11.1 tools_2.11.1 >>> >>> >>> Thanks in advance for your help. >>> >>> Michael >>> >>> >>> >>> >>> >>> >>> >>> >>> ------------------------------------------- >>> Michael Braun >>> Homer A. Burnell (1928) Career Development Professor, >>> and Assistant Professor of Management Science (Marketing Group) >>> MIT Sloan School of Management >>> 100 Main St.., E62-535 >>> Cambridge, MA 02139 >>> bra...@mit.edu >>> 617-253-3436 >>> >>> _______________________________________________ >>> R-SIG-Mac mailing list >>> R-SIG-Mac@stat.math.ethz.ch >>> https://stat.ethz.ch/mailman/listinfo/r-sig-mac >>> >> >> -- >> Brian D. Ripley, rip...@stats.ox.ac.uk >> Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ >> University of Oxford, Tel: +44 1865 272861 (self) >> 1 South Parks Road, +44 1865 272866 (PA) >> Oxford OX1 3TG, UK Fax: +44 1865 272595 > > > > ----------------------------------------------------------------------- > This message and its attachments are strictly confiden...{{dropped:19}} _______________________________________________ R-SIG-Mac mailing list R-SIG-Mac@stat.math.ethz.ch https://stat.ethz.ch/mailman/listinfo/r-sig-mac