On Mon, Oct 27, 2014 at 12:33 PM, Dan Tenenbaum <dtene...@fredhutch.org> wrote: > > > ----- Original Message ----- >> From: "Henrik Bengtsson" <h...@biostat.ucsf.edu> >> To: "Dan Tenenbaum" <dtene...@fredhutch.org> >> Cc: "R-devel" <r-devel@r-project.org> >> Sent: Monday, October 27, 2014 12:21:49 PM >> Subject: Re: [Rd] OSX Yosemite (10.10): Are package binaries the same as for >> OSX Mavericks (10.9)? >> >> On Mon, Oct 27, 2014 at 11:23 AM, Dan Tenenbaum >> <dtene...@fredhutch.org> wrote: >> > >> > >> > ----- Original Message ----- >> >> From: "Dan Tenenbaum" <dtene...@fredhutch.org> >> >> To: "Henrik Bengtsson" <h...@biostat.ucsf.edu> >> >> Cc: "R-devel" <r-devel@r-project.org> >> >> Sent: Monday, October 27, 2014 11:21:59 AM >> >> Subject: Re: [Rd] OSX Yosemite (10.10): Are package binaries the >> >> same as for OSX Mavericks (10.9)? >> >> >> >> >> >> >> >> ----- Original Message ----- >> >> > From: "Henrik Bengtsson" <h...@biostat.ucsf.edu> >> >> > To: "R-devel" <r-devel@r-project.org> >> >> > Sent: Monday, October 27, 2014 11:16:10 AM >> >> > Subject: [Rd] OSX Yosemite (10.10): Are package binaries the >> >> > same >> >> > as for OSX Mavericks (10.9)? >> >> > >> >> > 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? >> >> > >> >> >> >> Yes, a Yosemite user will by default be installing packages built >> >> on >> >> Mavericks using the Mavericks build of R, and they should work. >> >> >> > >> > 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. >> >> 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"? >> > > > First of all, this should be on R-SIG-Mac.
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. > > 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. 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. $ > > 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.) 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: > install.packages("matrixStats", type="mac.binary.mavericks") 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")? > > 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. Thanks for your answers they helped me a lot. /Henrik > > Dan > > > >> /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. >> >> > >> > Dan >> > >> > >> >> Dan >> >> >> >> >> >> > Thanks >> >> > >> >> > Henrik >> >> > >> >> > ______________________________________________ >> >> > R-devel@r-project.org mailing list >> >> > https://stat.ethz.ch/mailman/listinfo/r-devel >> >> > >> >> >> >> ______________________________________________ >> >> R-devel@r-project.org mailing list >> >> https://stat.ethz.ch/mailman/listinfo/r-devel >> >> >> ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel