2

I used to be able to call R from Matlab with a system call:

system('"/usr/bin/R" --no-save < myscript.R')

But now, using Matlab R2012b and R version 3.0.0 (2013-04-03) -- "Masked Marvel", I get errors when loading libraries, even though everything work just fine when I run it from the shell. I am running MacOSX 10.6.8.

Error in dyn.load(file, DLLpath = DLLpath, ...) : 
unable to load shared object'/Library/Frameworks/R.framework/Versions/3.0/Resources/library/stats/libs/stats.so':
dlopen(/Library/Frameworks/R.framework/Versions/3.0/Resources/library/stats/libs/stats.so, 6):
Symbol not found: __gfortran_pow_r8_i4
Referenced from: /Library/Frameworks/R.framework/Versions/3.0/Resources/lib/libRlapack.dylib
Expected in: /Applications/MATLAB_R2012b.app/sys/os/maci64/libgfortran.2.dylib
in /Library/Frameworks/R.framework/Versions/3.0/Resources/lib/libRlapack.dylib
During startup - Warning message:
   package 'stats' in options("defaultPackages") was not found 
Amro
  • 123,847
  • 25
  • 243
  • 454

1 Answers1

8

Unset environment variable DYLD_LIBRARY_PATH before calling R script:

>> !/usr/bin/Rscript ms.R
Error in dyn.load(file, DLLpath = DLLpath, ...) : 
  unable to load shared object '/Library/Frameworks/R.framework/Versions/3.0/Resources/library/stats/libs/stats.so':
  dlopen(/Library/Frameworks/R.framework/Versions/3.0/Resources/library/stats/libs/stats.so, 6): Symbol not found: __gfortran_pow_r8_i4
  Referenced from: /Library/Frameworks/R.framework/Versions/3.0/Resources/lib/libRlapack.dylib
  Expected in: /Applications/MATLAB_R2013a.app/sys/os/maci64/libgfortran.2.dylib
 in /Library/Frameworks/R.framework/Versions/3.0/Resources/lib/libRlapack.dylib
During startup - Warning message:
package 'stats' in options("defaultPackages") was not found 
Error: could not find function "rnorm"
Execution halted

>> !unset DYLD_LIBRARY_PATH; /usr/bin/Rscript ms.R

Call:
lm(formula = y ~ x)

Coefficients:
(Intercept)            x  
   -0.09727      0.03573  
kohske
  • 65,572
  • 8
  • 165
  • 155