Skip to content

OSX Yosemite (10.10): Are package binaries the same as for OSX Mavericks (10.9)?

6 messages · Dan Tenenbaum, Henrik Bengtsson

#
I'm trying to help someone to troubleshoot possible OSX Yosemite
issues, but I've only got access to OSX (< 10.9) so I cannot check
myself.

When building/installing binary R packages, there are different
binaries depending on OSX version.  For instance, CRAN provides
different binaries for 'OS X Snow Leopard' and 'OS X Mavericks', e.g.
http://cran.r-project.org/web/packages/matrixStats/index.html.

What about the new OSX Yosemite?  From
http://cran.r-project.org/doc/manuals/r-devel/R-admin.html#Yosemite it
looks like its binaries are the same/compatible with those of 'OS X
Mavericks' - can someone please confirm this?  Another way to put it,
if a repository provides OSX Mavericks binaries will an OSX Yosemite
user install these or we s/he fall back to installing from source?

Thanks

Henrik
#
----- Original Message -----
Yes, a Yosemite user will by default be installing packages built on Mavericks using the Mavericks build of R, and they should work.

Dan
#
----- Original Message -----
Provided of course that that Yosemite user is using the Mavericks build of R. They could also be using the Snow Leopard build of R which should also work, and would be installing by default packages build on Snow Leopard using the Snow Leopard build of R.

Dan
#
On Mon, Oct 27, 2014 at 11:23 AM, Dan Tenenbaum <dtenenba at fredhutch.org> wrote:
Thanks for this Dan.

As far as I understand, for an OSX user to install binary packages
option 'pkgType' has to be set to either "mac.binary" or
"mac.binary.mavericks".  A few questions for clarification:

Q. Is it the default that 'pkgType' be set to "mac.binary" on OSX (<
10.9) and to "mac.binary.mavericks" on OSX (>= 10.9)?

Q. Are you saying that if an OSX (>= 10.9) user uses
options(pkgType="mac.binary"), then install.packages() will install
the OSX 10.6 (Snow Leopard) binaries *and* that these binaries are
backward compatible and should work equally well?

Q. In other words, if a user have problems with a particular OSX 10.9
(Mavericks) binary, would a first step of troubleshooting be to ask
that user to try the OSX 10.6 (Snow Leopard) build?

Q. If a user has options(pkgType="mac.binary.mavericks"), but the
repository does not provide such binaries, will install.packages()
fall back to "mac.binary", or will it go directly to "source"?

/Henrik

PS. <rant>From a non-active OSX user, using names instead of numbers
to refer to versions is cute but insane. You need a very good memory
to keep track of the ordering of Snow Leopard, Leopard, Mavericks etc.
and it's not getting easier.</rant>  It would be great if R/BioC and
everyone else would always present the version number when talking
about OSX version and only use the name for redundancy.
#
----- Original Message -----
First of all, this should be on R-SIG-Mac. 

It all depends on what build of R you are using. You can be on Snow Leopard or later (including Mavericks and Yosemite)  and use the Snow Leopard build. The default package type will be mac.binary.

You can be on Mavericks or later and using the Mavericks build of R and your package type will by default be mac.binary.mavericks.

The two types of binary packages are NOT binary compatible! You should not mix and match them. (Technically, if a given package does not have native code in it, it should work, but you don't really want to go there.)

If you're using the Mavericks build of R and the repository does not provide mac.binary.mavericks packages, don't (see above) install mac.binary packages, install from source.

Dan
#
On Mon, Oct 27, 2014 at 12:33 PM, Dan Tenenbaum <dtenenba at fredhutch.org> wrote:
I considered that, but I'm also asking this as a package developer and
wonder what happens if someone installs my packages incorrectly and I
need to troubleshoot what's reported as a bugs but may not be, so I
though it would be more appropriate here.
Just for the record: I've verified that it is not possible to install
the Mavericks build of R on a pre-Mavericks OSX version by mistake; on
an OSX 10.6.8 machine I get:

$ wget http://r.research.att.com/mavericks/R-3.1-branch/R-3.1-branch-mavericks.pkg
$ sudo installer -pkg R-3.1-branch-mavericks.pkg -target "/"
...
installer: This build of R requires Mac OS X 10.9 or higher.
$
I understand that packages without native code should work, but is
there a reason for why R and install.packages() allows such mix and
matching in the first place?  I've tested
install.packages("matrixStats", type="mac.binary.mavericks") on an OSX
10.6.8 machine and it install the package without complaints.
Wouldn't it be better then if it gave an error:
Installing package into '/Users/hb/Library/R/3.1/library'
(as 'lib' is unspecified)
Error in install.packages("matrixStats", type = "mac.binary.mavericks") :
  cannot install Mavericks binary packages on this platform

cf. install.packages("matrixStats", type = "win.binary")?
Thanks for your answers they helped me a lot.

/Henrik