[R-SIG-Mac] R.app doesn't respect DYLD_FALLBACK_LIBRARY_PATH

Berend Hasselman bhh at xs4all.nl
Fri Aug 9 09:49:04 CEST 2013


On 08-08-2013, at 22:42, Tom Schoenemann <toms at indiana.edu> wrote:

> Hello,
> 
> I am trying to get a custom R package (from another group) to run on my system. If I call it from the command line r, it works fine.  If I call it from R.app, it complains with:
> 
> Error in dyn.load(file, DLLpath = DLLpath, ...) : 
>  unable to load shared object '/Library/Frameworks/R.framework/Versions/3.0/Resources/library/ANTsR/libs/libRantsRegistration.so':
>  dlopen(/Library/Frameworks/R.framework/Versions/3.0/Resources/library/ANTsR/libs/libRantsRegistration.so, 6): Library not loaded: libitkdouble-conversion-4.5.1.dylib
>  Referenced from: /Applications/image-processing/ANTsR/src/ANTS/ANTS-build/lib/libl_antsRegistration.dylib
>  Reason: image not found
> Error: package or namespace load failed for ‘ANTsR’
> 
> (ANTsR is the package I'm trying to get working)
> 
> I CAN get it to work by doing this on the command line first:
> 
> export DYLD_FALLBACK_LIBRARY_PATH=/Library/Frameworks/R.framework/Resources/lib
> 
> and then also opening the R.app from the command line:
> 
> open /Applications/R.app/
> 
> However, I can't seem to get R.app to know about 
> export DYLD_FALLBACK_LIBRARY_PATH=/Library/Frameworks/R.framework/Resources/lib
> unless I do it this way. 
> 
> So my questions are:
> 
> 1) how can I get R.app to know about the DYLD_FALLBACK_LIBRARY_PATH?  I tried putting it into my .Renviron file, but it doesn't work  (maybe the syntax is supposed to be different?)
> 
> 2) why does r on the command line know about dynamic libraries, but R.app does not?? This seems like a bug, but maybe there is a good reason for it?


Something similar was reported earlier this year.
See https://stat.ethz.ch/pipermail/r-sig-mac/2013-April/010057.html
In that case the way the package was built was incorrectly.

From the error message it appears that libitkdouble-conversion-4.5.1.dylib is not found.
So if it can be found by commandline R with DYLD_FALLBACK_LIBRARY set to /Library/Frameworks/R.framework/Resources/lib
the libitkdouble-*.dylib must have been put in that directory.

Whatever for? That's an R directory. 
Why did the install or build of /Applications/image-processing/ANTsR/src/ANTS/ANTS-build/lib/libl_antsRegistration.dylib put something in the R lib directory?


Berend



More information about the R-SIG-Mac mailing list