Open noamross opened 9 years ago
Hi Noam, That wiki page was notes for a proof of concept homebrew formula that lived in a dev branch. There was too much flux with the RRO installer at the time to justify a homebrew install option. I had to switch to other tasks so it was not formally submitted to the homebrew project. Since then, the RRO install process, especially with the MKL, has changed quite a bit, so it was a good call at the time.
It's been a while since I looked at all the needed pieces for a proper formula. From what I can remember, the most straight forward path was going to be a binary install of RRO. (I think bottle in homebrew terminology)
Since RRO is distributed as a GUI installer package (.pkg), it is perhaps easiest to go the route of a Cask Room install. (cask is an optional extension to homebrew)
I use brew cask install <package name>
with success quite frequently.
This is also ideal because cask installs get installed into /opt
then symlinked into the users home directory, at $HOME/Applications/
This means that RRO installed via cask would be less likely to interfere with an existing CRAN R installation. (Though not guaranteed.)
I'm not sure about the MKL license terms with the cask install route, because the MKL is already included in the OS X installer .pkg. The main thing that makes me think that the cask install option is the best route is because cask install formulas require that .pkg or .dmg downloads start from upstream project servers (MRAN in this case).
If I can find some time, I'll create a pull request in the caskroom project for RRO and leave a comment here.
@retrography created a Cask formula for RRO 3.2.1 on August 23rd. I went ahead and bumped the version number and hash in the formula to 3.2.2 and created a pull request to get the current version included in the official homebrew-cask project.
@noamross you can get cask going with:
brew install caskroom/cask/brew-cask
The new RRO version should hopefully be included within the next day or so since the automated check has passed.
Then you can: brew cask install rro
Thanks Chris.
I am glad you have as well took notice of the importance of having a brew formula. I can't keep pace with the updates on my own. Having more than one interested person makes the task easier.
@cmosetick be aware that the default install behavior of cask will change from linking to moving soon, so one of the reasons for relying on a cask will partially go away. I believe the R binaries and framework installed by RRO can still be kept in a separate directory, which may or may not be a good thing (depending on whether it creates conflicts or not).
When. I created the RRO cask I considered creating a brew formula as well. The point is that a brew formula is useful when (1) recompiling a software on the target computer can enable a number of compile-time optimization that can't be attained otherwise, or (2) compiling on the target computer helps avoiding licensing issues. My understanding is that RRO is designed to be a drop-in binary replacement for R on the supported platforms. As such, I couldn't see how a brew formula would actually make a better case, so I contented myself with a cask.
@noamross You can enable many of the enhancements brought by RRO just by using the right switches when installing the official R formula on brew. You can see to that by running brew info r
. My experience is that openblas-based compilations of R are just as fast in matrix operations as MKL-based ones. I can't say much about the other enhancements, though.
If I install R with brew cask install rro
will other brewed formula recognize r as installed even though the formula is called rro?
EDIT: I just realized there is no rro cask (anymore?)
This page on the wiki indicates that, at one point at least, there was a Homebrew formula for testing the development version of RRO. Is there an plan to create a formula to install the latest release? It would be great to
brew install rro
.