[R-SIG-Mac] CRAN build of R linking to /usr/local/clang4/

Simon Urbanek @imon@urb@nek @ending from R-project@org
Sat Dec 15 22:47:25 CET 2018


Gabor,

this appears to be a known issue with lldb[1] - it doesn’t pass DYLD_* variables to the executable anymore. You have to explicitly set it in lldb:

process launch -v DYLD_FALLBACK_LIBRARY_PATH=/Library/Frameworks/R.framework/Resources/lib

or similar. Unfortunately, it means the wrapper can’t help here. You can get the full setting from R if the above is not sufficient:

$ R --slave -e 'cat(Sys.getenv("DYLD_FALLBACK_LIBRARY_PATH"))'
/Library/Frameworks/R.framework/Resources/lib:/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/lib/server

Cheers,
Simon

PS: I have fixed the path for the nightly builds so it should be fixed in tonight’s build, but the lesson is that the debugger does indeed have an environment that is different from the actual executable.

[1] http://lists.llvm.org/pipermail/lldb-dev/2015-October/008691.html


> On Dec 15, 2018, at 4:41 AM, Gábor Csárdi <csardi.gabor using gmail.com> wrote:
> 
> On Sat, Dec 15, 2018 at 2:29 AM Simon Urbanek
> <simon.urbanek using r-project.org> wrote:
> [...]
>> although the R binary itself was omitted. However it doesn’t actually matter, because it is always executed through the R shell wrapper which correctly prepends $R_HOME/lib which is why R works just fine.
> 
> This does not seem to happen with
> 
> ❯ R -d lldb
> (lldb) target create "/Library/Frameworks/R.framework/Resources/bin/exec/R"
> [...]
> (lldb) run
> [...]
> Process 52551 launched:
> '/Library/Frameworks/R.framework/Resources/bin/exec/R' (x86_64)
> dyld: Library not loaded: /usr/local/clang4/lib/libomp.dylib
>  Referenced from: /Library/Frameworks/R.framework/Resources/bin/exec/R
>  Reason: image not found
> Process 52551 stopped
> * thread #1, stop reason = signal SIGABRT
>    frame #0: 0x000000010002c9ee dyld`__abort_with_payload + 10
> dyld`__abort_with_payload:
> ->  0x10002c9ee <+10>: jae    0x10002c9f8               ; <+20>
>    0x10002c9f0 <+12>: movq   %rax, %rdi
>    0x10002c9f3 <+15>: jmp    0x10002c300               ; cerror_nocancel
>    0x10002c9f8 <+20>: retq
> (lldb)
> 
> So maybe this is a bug in the R shell wrapper then? I am not sure, but
> it would be nice to make 'R -d lldb' work out of the box.
> 
> Thanks,
> G.
> 
> [...]
> 



More information about the R-SIG-Mac mailing list