[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 03:29:42 CET 2018
Gabor,
unfortunately, I didn’t see your original e-mail. The paths are correct in libraries, e.g.:
$ otool -L /Library/Frameworks/R.framework/Resources/lib/libRblas.dylib | grep libomp
/Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libomp.dylib (compatibility version 5.0.0, current version 5.0.0)
as well as packages:
$ otool -L BNN/libs/BNN.so | grep libomp
/Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libomp.dylib (compatibility version 5.0.0, current version 5.0.0)
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 has nothing to do with clang4/clang6. We use clang6 to compile, it is only a matter of the location of Intel’s libomp.
Cheers,
Simon
> On Dec 14, 2018, at 6:00 PM, Gábor Csárdi <csardi.gabor using gmail.com> wrote:
>
> Would it be possible to fix this for the builds of the upcoming release?
>
> Thanks,
> Gabor
> On Wed, Oct 10, 2018 at 11:12 PM Gábor Csárdi <csardi.gabor using gmail.com> wrote:
>>
>> https://cran.r-project.org/bin/macosx/tools/ suggests installing a
>> special clang6 build. OTOH, the R binary links to a library that comes
>> with CRAN's clang4 build:
>>
>> ❯ otool -L /Library/Frameworks/R.framework/Resources/bin/exec/R
>> /Library/Frameworks/R.framework/Resources/bin/exec/R:
>> /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libR.dylib
>> (compatibility version 3.5.0, current version 3.5.1)
>> /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRblas.dylib
>> (compatibility version 0.0.0, current version 0.0.0)
>> /usr/local/clang4/lib/libomp.dylib (compatibility version 5.0.0,
>> current version 5.0.0)
>> /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
>> version 1226.10.1)
>>
>> Notice '/usr/local/clang4/lib/libomp.dylib' above. R seems to run
>> happily without this file, though, until you start it with lldb:
>>
>> ❯ R -d lldb
>> (lldb) target create "/Library/Frameworks/R.framework/Resources/bin/exec/R"
>> Current executable set to
>> '/Library/Frameworks/R.framework/Resources/bin/exec/R' (x86_64).
>> (lldb) run
>> Process 74239 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 74239 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
>>
>> After clang4 is installed from http://r.research.att.com/libs/
>> everything is fine.
>>
>> Is linking to this library intentional? If yes, then maybe the web
>> could be updated to suggest installing clang6 and clang4?
>>
>> Thanks,
>> Gabor
>
> _______________________________________________
> R-SIG-Mac mailing list
> R-SIG-Mac using r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
>
More information about the R-SIG-Mac
mailing list