[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