kent@darwin.eeb.uconn.edu
2005-Jun-29  17:55 UTC
[Rd] Failed "make check" under Fedora Core 4 (PR#7979)
I downloaded R v2.1.1 earlier this morning to compile under Fedora Core 
4. It compiled without incident, but 'make check' failed. Below is the 
relevant part of its report. Is this a known problem?
I used a locally compiled version of GCC v4.0.0 that reports
[kent at d89h102 R-2.1.1]$ gcc -v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../gcc-4.0.0/configure --enable-languages=c,c++,f95,java
Thread model: posix
gcc version 4.0.0
[kent at d89h102 R-2.1.1]$
Kent Holsinger
kent at darwin.eeb.uconn.edu
make[3]: Entering directory `/home/kent/source-arc/R-2.1.1/tests'
running code in 'eval-etc.R' ... OK
comparing 'eval-etc.Rout' to './eval-etc.Rout.save' ...2a3,157
 > > ####  eval / parse / deparse / substitute  etc
 > >
 > > ##- From: Peter Dalgaard BSA <p.dalgaard at biostat.ku.dk>
 > > ##- Subject: Re: source() / eval() bug ??? (PR#96)
 > > ##- Date: 20 Jan 1999 14:56:24 +0100
 > > e1 <- parse(text='c(F=(f <- .3), "Tail area" = 2
* if(f < 1) 30
else 90)')[[1]]
 > > e1
 > c(F = (f <- 0.3), "Tail area" = 2 * if (f < 1) 30 else 90)
 > > str(eval(e1))
 >  Named num [1:2] 0.3 60
 >  - attr(*, "names")= chr [1:2] "F" "Tail
area"
 > > mode(e1)
 > [1] "call"
 > >
 > > ( e2 <- quote(c(a=1,b=2)) )
 > c(a = 1, b = 2)
 > > names(e2)[2] <- "a b c"
 > > e2
 > c("a b c" = 1, b = 2)
 > > parse(text=deparse(e2))
 > expression(c("a b c" = 1, b = 2))
 > >
 > > ##- From: Peter Dalgaard BSA <p.dalgaard at biostat.ku.dk>
 > > ##- Date: 22 Jan 1999 11:47
 > >
 > > ( e3 <- quote(c(F=1,"tail area"=pf(1,1,1))) )
 > c(F = 1, "tail area" = pf(1, 1, 1))
 > > eval(e3)
 >         F tail area
 >       1.0       0.5
 > > names(e3)
 > [1] ""          "F"         "tail area"
 > >
 > > names(e3)[2] <- "Variance ratio"
 > > e3
 > c("Variance ratio" = 1, "tail area" = pf(1, 1, 1))
 > > eval(e3)
 > Variance ratio      tail area
 >            1.0            0.5
 > >
 > >
 > > ##- From: Peter Dalgaard BSA <p.dalgaard at biostat.ku.dk>
 > > ##- Date: 2 Sep 1999
 > >
 > > ## The first failed in 0.65.0 :
 > > attach(list(x=1))
 > > evalq(dim(x) <- 1,as.environment(2))
 > > dput(get("x", env=as.environment(2)),
control="all")
 > structure(1, .Dim = as.integer(1))
 > >
 > > e <- local({x <- 1;environment()})
 > > evalq(dim(x) <- 1,e)
 > > dput(get("x",env=e), control="all")
 > structure(1, .Dim = as.integer(1))
 > >
 > > ### Substitute, Eval, Parse, etc
 > >
 > > ## PR#3 : "..." matching
 > > ## Revised March 7 2001 -pd
 > > A <- function(x, y, ...) {
 > +     B <- function(a, b, ...) { match.call() }
 > +     B(x+y, ...)
 > + }
 > > (aa <- A(1,2,3))
 > B(a = x + y, b = 3)
 > > all.equal(as.list(aa),
 > +           list(as.name("B"), a = expression(x+y)[[1]], b = 3))
 > [1] TRUE
 > > (a2 <- A(1,2, named = 3)) #A(1,2, named = 3)
 > B(a = x + y, named = 3)
 > > all.equal(as.list(a2),
 > +           list(as.name("B"), a = expression(x+y)[[1]], named =
3))
 > [1] TRUE
 > >
 > > CC <- function(...) match.call()
 > > DD <- function(...) CC(...)
 > > a3 <- DD(1,2,3)
 > > all.equal(as.list(a3),
 > +           list(as.name("CC"), 1, 2, 3))
 > [1] TRUE
 > >
 > > ## More dots issues: March 19 2001 -pd
 > > ## Didn't work up to and including 1.2.2
 > >
 > > f <- function(...) {
 > +     val <- match.call(expand.dots=F)$...
 > +         x <- val[[1]]
 > +     eval.parent(substitute(missing(x)))
 > + }
 > > g <- function(...) h(f(...))
 > > h <- function(...) list(...)
 > > k <- function(...) g(...)
 > > X <- k(a=)
 > > all.equal(X, list(TRUE))
 > [1] TRUE
 > >
 > > ## Bug PR#24
 > > f <- function(x,...) substitute(list(x,...))
 > > deparse(f(a, b)) == "list(a, b)" &&
 > + deparse(f(b, a)) == "list(b, a)" &&
 > + deparse(f(x, y)) == "list(x, y)" &&
 > + deparse(f(y, x)) == "list(y, x)"
 > [1] TRUE
 > >
 > > tt <- function(x) { is.vector(x); deparse(substitute(x)) }
 > > a <- list(b=3); tt(a$b) == "a$b" # tends to break when
...
 > [1] TRUE
 > >
 > >
 > > ## Parser:
 > > 1 <
 > +     2
 > [1] TRUE
 > > 2 < > +     3
 > [1] TRUE
 > > 4 > > +     3
 > [1] TRUE
 > > 3 >
 > +     2
 > [1] TRUE
 > > 2 = > +     2
 > [1] TRUE
 > > ## bug till ...
 > > 1 ! > +     3
 > [1] TRUE
 > >
 > > all(NULL == NULL)
 > [1] TRUE
 > >
 > > ## PR #656 (related)
 > > u <- runif(1);      length(find(".Random.seed")) == 1
 > [1] TRUE
 > >
 > > MyVaR <<- "val";length(find("MyVaR")) == 1
 > [1] TRUE
 > > rm(MyVaR);  length(find("MyVaR")) == 0
 > [1] TRUE
 > >
 > >
 > > ## Martin Maechler: rare bad bug in sys.function() {or match.arg()} 
(PR#1409)
 > > callme <- function(a = 1, mm = c("Abc",
"Bde")) {
 > +     mm <- match.arg(mm); cat("mm = "); str(mm) ;
invisible()
 > + }
 > > ## The first two were as desired:
 > > callme()
 > mm =  chr "Abc"
 > > callme(mm="B")
 > mm =  chr "Bde"
 > > mycaller <- function(x = 1, callme = pi) { callme(x) }
 > > mycaller()## wrongly gave `mm = NULL'  now = "Abc"
 > mm =  chr "Abc"
make[3]: *** [eval-etc.Rout] Error 1
make[3]: Leaving directory `/home/kent/source-arc/R-2.1.1/tests'
make[2]: *** [test-Specific] Error 2
make[2]: Leaving directory `/home/kent/source-arc/R-2.1.1/tests'
make[1]: *** [test-all-basics] Error 1
make[1]: Leaving directory `/home/kent/source-arc/R-2.1.1/tests'
make: *** [check] Error 2
<<insert bug report here>>
--please do not edit the information below--
Version:
  platform = i686-pc-linux-gnu
  arch = i686
  os = linux-gnu
  system = i686, linux-gnu
  status   major = 2
  minor = 1.1
  year = 2005
  month = 06
  day = 20
  language = R
Locale:
LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;LC_TIME=en_US.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=en_US.UTF-8;LC_MESSAGES=en_US.UTF-8;LC_PAPER=C;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=C;LC_IDENTIFICATION=C
Search Path:
  .GlobalEnv, package:methods, package:stats, package:graphics, 
package:grDevices, package:utils, package:datasets, Autoloads, package:base
Martyn Plummer
2005-Jun-30  09:39 UTC
[Rd] Failed "make check" under Fedora Core 4 (PR#7979)
On Wed, 2005-06-29 at 19:55 +0200, kent at darwin.eeb.uconn.edu wrote:> I downloaded R v2.1.1 earlier this morning to compile under Fedora Core > 4. It compiled without incident, but 'make check' failed. Below is the > relevant part of its report. Is this a known problem?It is known that gcc 4.0.0 is buggy. The current recommendation, from Brian Ripley, is to use gcc 3.4.4 instead. We are awaiting the bug-fix release gcc 4.0.1. R compiled with the gcc 4.0.0 provided on FC4 does pass "make check- all". My guess is that your locally compiled version does not have the patches applied by Red Hat. Martyn> I used a locally compiled version of GCC v4.0.0 that reports > > [kent at d89h102 R-2.1.1]$ gcc -v > Using built-in specs. > Target: i686-pc-linux-gnu > Configured with: ../gcc-4.0.0/configure --enable-languages=c,c++,f95,java > Thread model: posix > gcc version 4.0.0 > [kent at d89h102 R-2.1.1]$ > > Kent Holsinger > kent at darwin.eeb.uconn.edu > > make[3]: Entering directory `/home/kent/source-arc/R-2.1.1/tests' > running code in 'eval-etc.R' ... OK > comparing 'eval-etc.Rout' to './eval-etc.Rout.save' ...2a3,157 > > > #### eval / parse / deparse / substitute etc > > > > > > ##- From: Peter Dalgaard BSA <p.dalgaard at biostat.ku.dk> > > > ##- Subject: Re: source() / eval() bug ??? (PR#96) > > > ##- Date: 20 Jan 1999 14:56:24 +0100 > > > e1 <- parse(text='c(F=(f <- .3), "Tail area" = 2 * if(f < 1) 30 > else 90)')[[1]] > > > e1 > > c(F = (f <- 0.3), "Tail area" = 2 * if (f < 1) 30 else 90) > > > str(eval(e1)) > > Named num [1:2] 0.3 60 > > - attr(*, "names")= chr [1:2] "F" "Tail area" > > > mode(e1) > > [1] "call" > > > > > > ( e2 <- quote(c(a=1,b=2)) ) > > c(a = 1, b = 2) > > > names(e2)[2] <- "a b c" > > > e2 > > c("a b c" = 1, b = 2) > > > parse(text=deparse(e2)) > > expression(c("a b c" = 1, b = 2)) > > > > > > ##- From: Peter Dalgaard BSA <p.dalgaard at biostat.ku.dk> > > > ##- Date: 22 Jan 1999 11:47 > > > > > > ( e3 <- quote(c(F=1,"tail area"=pf(1,1,1))) ) > > c(F = 1, "tail area" = pf(1, 1, 1)) > > > eval(e3) > > F tail area > > 1.0 0.5 > > > names(e3) > > [1] "" "F" "tail area" > > > > > > names(e3)[2] <- "Variance ratio" > > > e3 > > c("Variance ratio" = 1, "tail area" = pf(1, 1, 1)) > > > eval(e3) > > Variance ratio tail area > > 1.0 0.5 > > > > > > > > > ##- From: Peter Dalgaard BSA <p.dalgaard at biostat.ku.dk> > > > ##- Date: 2 Sep 1999 > > > > > > ## The first failed in 0.65.0 : > > > attach(list(x=1)) > > > evalq(dim(x) <- 1,as.environment(2)) > > > dput(get("x", env=as.environment(2)), control="all") > > structure(1, .Dim = as.integer(1)) > > > > > > e <- local({x <- 1;environment()}) > > > evalq(dim(x) <- 1,e) > > > dput(get("x",env=e), control="all") > > structure(1, .Dim = as.integer(1)) > > > > > > ### Substitute, Eval, Parse, etc > > > > > > ## PR#3 : "..." matching > > > ## Revised March 7 2001 -pd > > > A <- function(x, y, ...) { > > + B <- function(a, b, ...) { match.call() } > > + B(x+y, ...) > > + } > > > (aa <- A(1,2,3)) > > B(a = x + y, b = 3) > > > all.equal(as.list(aa), > > + list(as.name("B"), a = expression(x+y)[[1]], b = 3)) > > [1] TRUE > > > (a2 <- A(1,2, named = 3)) #A(1,2, named = 3) > > B(a = x + y, named = 3) > > > all.equal(as.list(a2), > > + list(as.name("B"), a = expression(x+y)[[1]], named = 3)) > > [1] TRUE > > > > > > CC <- function(...) match.call() > > > DD <- function(...) CC(...) > > > a3 <- DD(1,2,3) > > > all.equal(as.list(a3), > > + list(as.name("CC"), 1, 2, 3)) > > [1] TRUE > > > > > > ## More dots issues: March 19 2001 -pd > > > ## Didn't work up to and including 1.2.2 > > > > > > f <- function(...) { > > + val <- match.call(expand.dots=F)$... > > + x <- val[[1]] > > + eval.parent(substitute(missing(x))) > > + } > > > g <- function(...) h(f(...)) > > > h <- function(...) list(...) > > > k <- function(...) g(...) > > > X <- k(a=) > > > all.equal(X, list(TRUE)) > > [1] TRUE > > > > > > ## Bug PR#24 > > > f <- function(x,...) substitute(list(x,...)) > > > deparse(f(a, b)) == "list(a, b)" && > > + deparse(f(b, a)) == "list(b, a)" && > > + deparse(f(x, y)) == "list(x, y)" && > > + deparse(f(y, x)) == "list(y, x)" > > [1] TRUE > > > > > > tt <- function(x) { is.vector(x); deparse(substitute(x)) } > > > a <- list(b=3); tt(a$b) == "a$b" # tends to break when ... > > [1] TRUE > > > > > > > > > ## Parser: > > > 1 < > > + 2 > > [1] TRUE > > > 2 <> > + 3 > > [1] TRUE > > > 4 >> > + 3 > > [1] TRUE > > > 3 > > > + 2 > > [1] TRUE > > > 2 => > + 2 > > [1] TRUE > > > ## bug till ... > > > 1 !> > + 3 > > [1] TRUE > > > > > > all(NULL == NULL) > > [1] TRUE > > > > > > ## PR #656 (related) > > > u <- runif(1); length(find(".Random.seed")) == 1 > > [1] TRUE > > > > > > MyVaR <<- "val";length(find("MyVaR")) == 1 > > [1] TRUE > > > rm(MyVaR); length(find("MyVaR")) == 0 > > [1] TRUE > > > > > > > > > ## Martin Maechler: rare bad bug in sys.function() {or match.arg()} > (PR#1409) > > > callme <- function(a = 1, mm = c("Abc", "Bde")) { > > + mm <- match.arg(mm); cat("mm = "); str(mm) ; invisible() > > + } > > > ## The first two were as desired: > > > callme() > > mm = chr "Abc" > > > callme(mm="B") > > mm = chr "Bde" > > > mycaller <- function(x = 1, callme = pi) { callme(x) } > > > mycaller()## wrongly gave `mm = NULL' now = "Abc" > > mm = chr "Abc" > make[3]: *** [eval-etc.Rout] Error 1 > make[3]: Leaving directory `/home/kent/source-arc/R-2.1.1/tests' > make[2]: *** [test-Specific] Error 2 > make[2]: Leaving directory `/home/kent/source-arc/R-2.1.1/tests' > make[1]: *** [test-all-basics] Error 1 > make[1]: Leaving directory `/home/kent/source-arc/R-2.1.1/tests' > make: *** [check] Error 2 > > <<insert bug report here>> > > > > --please do not edit the information below-- > > Version: > platform = i686-pc-linux-gnu > arch = i686 > os = linux-gnu > system = i686, linux-gnu > status > major = 2 > minor = 1.1 > year = 2005 > month = 06 > day = 20 > language = R > > Locale: > LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;LC_TIME=en_US.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=en_US.UTF-8;LC_MESSAGES=en_US.UTF-8;LC_PAPER=C;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=C;LC_IDENTIFICATION=C > > Search Path: > .GlobalEnv, package:methods, package:stats, package:graphics, > package:grDevices, package:utils, package:datasets, Autoloads, package:base > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel----------------------------------------------------------------------- This message and its attachments are strictly confidential. ...{{dropped}}