Skip to content

OpenMP on CRAN

3 messages · Patrick Schratz, Simon Urbanek

#
Simon,

thanks. I assume that you mean ?clang from homebrew? = llvm (from homebrew)?
Indeed I am currently trying that out and it looks really robust for source installations (more than the systems clang (+ eventual openMP flags like suggested by Kevin) and other variants (gcc from homebrew or openMP enabled clang7 or 8).

Note that I do not use R via homebrew.

However, all in all I am essentially mixing the custom llvm from homebrew with the official R installer and the old 10.13 SDK.
It looks quite complex and I?d wish everything would be easier. However, in the end I just want to have a stable ?install from source? environment that works for all packages out there (I do not use the binaries).

All in all I am a bit confused now about all the mixing and options available. Let?s see what the foreseeable future brings and where things are going.

Regarding the SDK issue: I think most users just use the binaries on macOS (across all OS versions) and rarely face such issues. And there are presumably not many people out there that do actual R-devel testing on Catalina (?), otherwise I?d expect way more people to jump into the discussion. However, I am not alone with these issues as you can see in the Rcpp issue we were talking about.
Maybe you can even reproduce the issues by linking a custom install of the 10.15 SDK on a non-Catalina machine? I don?t know how much trouble that would bring up when trying to jump into the future - but this ist just an idea :)

Thanks for your work!
On 3. Apr 2020, 14:13 +0200, Simon Urbanek <simon.urbanek at r-project.org>, wrote:

  
  
#
Patrick,
LLVM is the compiler infrastructure project, clang is the C/C++ compiler from that project. We don't use any of the other compilers form LLVM.
Why don't use use Homebrew? That's exactly what Homebrew provides - its own ecosystem, everything form source (with cached binaries if you want them).
Mixing is not available. You pick one system and go with it, but can't mix between them, because of the different run-time libraries.
That's an entirely different, unrelated topic. Testing cutting edge (or even pre-release) systems makes sense, but that's not our current worry (there was a separate thread about CI).

Cheers,
Simon
#
Simon,

thanks. While this feels like a somewhat 1/1 discussion now, I also think that others might profit from it.

1. I am aware that LLVM is a wrapper bundling more than just the compiler and that it comes with its own copy of clang
2. I don?t use homebrew because it does not easily allow multiple R installations next to each other. This is possible via the official installers. Combining this with RSwitch from Bob I can switch between R interpreters with a keystroke. I am using homebrew for everything else and even contribute to some formulas from time to time.
3. In the end everyone if responsible for their own setup and deviating from standards make its more complicated to get help (if at all). However, I am still considering blogging about my setup in the future once I have found a robust one that worked for some time across all instances I faced issues with in the past (focusing on source installs). And don?t worry, I will make sure to point out that this is custom, what the CRAN setup is and the differences between homebrew and the CRAN thing. There are quite some myths floating around that this should be clarified in more depth on a static page (maybe even from you as the expert? ;) )

Regarding CI and testing SDK 10.15: A pointer to this discussion where the toolchain for GitHub Actions is discussed. I?ll move my thoughts about this to a new thread.
On 3. Apr 2020, 22:11 +0200, Simon Urbanek <simon.urbanek at r-project.org>, wrote: