[Rcpp-devel] Ancient Rcpp for OS X on CRAN [Was: Building/linking trouble with cxxfunction()]

Simon Urbanek simon.urbanek at r-project.org
Wed Feb 23 01:42:35 CET 2011


On Feb 22, 2011, at 7:35 PM, Dirk Eddelbuettel wrote:

> 
> On 22 February 2011 at 18:56, Simon Urbanek wrote:
> | 
> | On Feb 22, 2011, at 6:28 PM, Dirk Eddelbuettel wrote:
> | 
> | > 
> | > Ken,
> | > 
> | > Could you test the 0.9.1 tarball?  Then in
> | > inst/unitTests/runit.Module.client.package.R, apply the diff below:
> | > 
> | >  -- ie add the new .badOSX function (maybe I'll rename it 'oldOSX')
> | > 
> | 
> | You have a typo in the call (.basOSX vs .badOSX) 
> 
> Yes, just corrected thanks to Baptiste.
> 
> | and you got the test all wrong -- you're testing for anything but Darwin 
> 
> Ooops. Now corrected too.
> 
> | and you have the versions wrong (only major matters and "bad" is anything below 10).
> 
> Based on the extensive discussion here it appears that
> 
>  10.5.0 fails as evidenced by your setup and confirmation by other
> 
>  10.6.0 passes
> 
> so I want a test that screams if I 10.5 or lower.  I don't care about major
> 8, 9, ... 
> 
> | Why don't you just use my code ? ;) You can just copy my condition in verbatim just after Rcpp:::capabilities()[["Rcpp modules"]] && - it was designed that way ...
> 
> I tested your code on static strings here and I fail to see how it
> differentiates between 10.5.0 ("bad") and 10.6.0 ("good").
> 
> What am I missing here?
> 

The e-mailI sent about version numbers ;). OS X 10.5.n results in Sys.info()['release'] == 9.n and OS X 10.6.n in Sys.info()['release'] == 10.n because Sys.info() reports the Darwin version, not OS X version. Ken had 10.6.6 so incidentally that corresponds to Darwin (6+4).6 = 10.6 so the 6 there has nothing to do with the first 6 in 10.6.6  ;). Ah, don't we all love riddles? ;)

Cheers,
S



> Dirk
> 
> 
> | 
> | Cheers,
> | S
> | 
> | 
> | >  -- change the test to add a   && ! .badOSX()   
> | > 
> | > so that the test that barfs under g++ 4.2.1 is not getting run.
> | > 
> | > If that passes everything, yet failed before, we would have ourselves a new
> | > version which may things better.
> | > 
> | > Dirk
> | > 
> | > 
> | > Index: runit.Module.client.package.R
> | > ===================================================================
> | > --- runit.Module.client.package.R	(revision 2902)
> | > +++ runit.Module.client.package.R	(working copy)
> | > @@ -22,8 +22,18 @@
> | > 	gc()
> | > }
> | > 
> | > -if( Rcpp:::capabilities()[["Rcpp modules"]] ) {
> | > +.badOSX <- function() {                 		# the unit test in this file fails on OS X 10.5
> | > +    val <- FALSE                            	# assume we are not on an old OS X
> | > +    if (Sys.info()['sysname'] != "Darwin") {    # if on Darwin, let's test
> | > +        vertxt <- Sys.info()['release'] 		# 10.5.0 or 10.6.0 or ....
> | > +        osx <- as.numeric(strsplit(vertxt, "\\.")[[1]])
> | > +        val <- osx[1] == 10 && osx[2] <= 5 		# 10 and le 5 will mark as bad
> | > +    }
> | > +    val
> | > +}
> | > 
> | > +if( Rcpp:::capabilities()[["Rcpp modules"]] && ! .basOSX() ) {
> | > +
> | > test.Module.package <- function( ){
> | > 
> | >     td <- tempfile()
> | > 
> | > On 22 February 2011 at 16:58, Ken.Williams at thomsonreuters.com wrote:
> | > | 
> | > | 
> | > | 
> | > | 
> | > | On 2/22/11 4:54 PM, "Dirk Eddelbuettel" <edd at debian.org> wrote:
> | > | 
> | > | >What is in Sys.info(), particularly fields 1 and 2:
> | > | >
> | > | >R> Sys.info()[1:2]
> | > | >            sysname             release
> | > | >            "Linux" "2.6.32-25-generic"
> | > | 
> | > | That's probably the right way to do it, as Simon suggested too in the
> | > | meantime.
> | > | 
> | > | > Sys.info()[1:2]
> | > |  sysname  release 
> | > | "Darwin" "10.6.0" 
> | > | 
> | > | 
> | > | 
> | > | 
> | > | 
> | > | > 
> | > | >
> | > | >Else, .Platform() starts with 'Darwin', right?
> | > | 
> | > | Nope: 
> | > | 
> | > | > .Platform[1]
> | > | $OS.type
> | > | [1] "unix"
> | > | 
> | > | 
> | > | 
> | > | --
> | > | Ken Williams
> | > | Senior Research Scientist
> | > | Thomson Reuters
> | > | http://labs.thomsonreuters.com
> | > | 
> | > | 
> | > 
> | > -- 
> | > Dirk Eddelbuettel | edd at debian.org | http://dirk.eddelbuettel.com
> | > 
> | > 
> | 
> 
> -- 
> Dirk Eddelbuettel | edd at debian.org | http://dirk.eddelbuettel.com
> 
> 



More information about the Rcpp-devel mailing list