Hi, I just tried to upgrade Nixpkgs to R 3.5.0, but unfortunately the new version fails its regression test suite. We configure the build using the flags "--without-recommended-packages", in case that's relevant. You can see a complete build log with all relevant information at [1]. Anyway, the test failures look like this:
| make[3]: Entering directory '/build/R-3.5.0/tests/Examples' | Testing examples for package 'base' | Testing examples for package 'tools' | comparing 'tools-Ex.Rout' to 'tools-Ex.Rout.save' ... OK | Testing examples for package 'utils' | Testing examples for package 'grDevices' | comparing 'grDevices-Ex.Rout' to 'grDevices-Ex.Rout.save' ... OK | Testing examples for package 'graphics' | comparing 'graphics-Ex.Rout' to 'graphics-Ex.Rout.save' ... OK | Testing examples for package 'stats' | comparing 'stats-Ex.Rout' to 'stats-Ex.Rout.save' ... NOTE | 6599c6599 | < Grand Mean: 291.5937 | --- | > Grand Mean: 291.5938 | 15124c15124 | < Grand Mean: 291.5937 | --- | > Grand Mean: 291.5938 | 17444c17444 | < assertCondition: caught "error" | --- | > assertCondition: caught 'error' | Testing examples for package 'datasets' | comparing 'datasets-Ex.Rout' to 'datasets-Ex.Rout.save' ... OK | Testing examples for package 'methods' | Testing examples for package 'grid' | comparing 'grid-Ex.Rout' to 'grid-Ex.Rout.save' ... OK | Testing examples for package 'splines' | comparing 'splines-Ex.Rout' to 'splines-Ex.Rout.save' ... OK | Testing examples for package 'stats4' | comparing 'stats4-Ex.Rout' to 'stats4-Ex.Rout.save' ... OK | Testing examples for package 'tcltk' | Testing examples for package 'compiler' | Testing examples for package 'parallel' | make[3]: Leaving directory '/build/R-3.5.0/tests/Examples' | make[2]: Leaving directory '/build/R-3.5.0/tests' | make[2]: Entering directory '/build/R-3.5.0/tests' | make[2]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule. | running strict specific tests | make[3]: Entering directory '/build/R-3.5.0/tests' | running code in 'eval-etc.R' ... OK | comparing 'eval-etc.Rout' to './eval-etc.Rout.save' ...414,416c414,548 | < Warning message: | < In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, : | < there is no package called 'Matrix' | --- | > Trying some Matrix objects, too | > | > Matrix> Matrix(0, 3, 2) # 3 by 2 matrix of zeros -> sparse | > 3 x 2 sparse Matrix of class "dgCMatrix" | > | > [1,] . . | > [2,] . . | > [3,] . . | > | > Matrix> Matrix(0, 3, 2, sparse=FALSE)# -> 'dense' | > 3 x 2 Matrix of class "dgeMatrix" | > [,1] [,2] | > [1,] 0 0 | > [2,] 0 0 | > [3,] 0 0 | > | > Matrix> Matrix(0, 2, 2, sparse=FALSE)# diagonal ! | > 2 x 2 diagonal matrix of class "ddiMatrix" | > [,1] [,2] | > [1,] 0 . | > [2,] . 0 | > | > Matrix> Matrix(0, 2, 2, sparse=FALSE, doDiag=FALSE)# -> dense | > 2 x 2 Matrix of class "dsyMatrix" | > [,1] [,2] | > [1,] 0 0 | > [2,] 0 0 | > | > Matrix> Matrix(1:6, 3, 2) # a 3 by 2 matrix (+ integer warning) | > 3 x 2 Matrix of class "dgeMatrix" | > [,1] [,2] | > [1,] 1 4 | > [2,] 2 5 | > [3,] 3 6 | > | > Matrix> Matrix(1:6 + 1, nrow=3) | > 3 x 2 Matrix of class "dgeMatrix" | > [,1] [,2] | > [1,] 2 5 | > [2,] 3 6 | > [3,] 4 7 | > | > Matrix> ## logical ones: | > Matrix> Matrix(diag(4) > 0)# -> "ldiMatrix" with diag = "U" | > 4 x 4 diagonal matrix of class "ldiMatrix" | > [,1] [,2] [,3] [,4] | > [1,] TRUE . . . | > [2,] . TRUE . . | > [3,] . . TRUE . | > [4,] . . . TRUE | > | > Matrix> Matrix(diag(4) > 0, sparse=TRUE)# -> sparse... | > 4 x 4 sparse Matrix of class "lsCMatrix" | > | > [1,] | . . . | > [2,] . | . . | > [3,] . . | . | > [4,] . . . | | > | > Matrix> Matrix(diag(4) >= 0)# -> "lsyMatrix" (of all 'TRUE') | > 4 x 4 Matrix of class "lsyMatrix" | > [,1] [,2] [,3] [,4] | > [1,] TRUE TRUE TRUE TRUE | > [2,] TRUE TRUE TRUE TRUE | > [3,] TRUE TRUE TRUE TRUE | > [4,] TRUE TRUE TRUE TRUE | > | > Matrix> ## triangular | > Matrix> l3 <- upper.tri(matrix(,3,3)) | > | > Matrix> (M <- Matrix(l3)) # -> "ltCMatrix" | > 3 x 3 sparse Matrix of class "ltCMatrix" | > | > [1,] . | | | > [2,] . . | | > [3,] . . . | > | > Matrix> Matrix(! l3)# -> "ltrMatrix" | > 3 x 3 Matrix of class "ltrMatrix" | > [,1] [,2] [,3] | > [1,] TRUE . . | > [2,] TRUE TRUE . | > [3,] TRUE TRUE TRUE | > | > Matrix> as(l3, "CsparseMatrix") | > 3 x 3 sparse Matrix of class "lgCMatrix" | > | > [1,] . | | | > [2,] . . | | > [3,] . . . | > | > Matrix> Matrix(1:9, nrow=3, | > Matrix+ dimnames = list(c("a", "b", "c"), c("A", "B", "C"))) | > 3 x 3 Matrix of class "dgeMatrix" | > A B C | > a 1 4 7 | > b 2 5 8 | > c 3 6 9 | > | > Matrix> (I3 <- Matrix(diag(3)))# identity, i.e., unit "diagonalMatrix" | > 3 x 3 diagonal matrix of class "ddiMatrix" | > [,1] [,2] [,3] | > [1,] 1 . . | > [2,] . 1 . | > [3,] . . 1 | > | > Matrix> str(I3) # note the empty 'x' slot | > Formal class 'ddiMatrix' [package "Matrix"] with 4 slots | > ..@ diag : chr "U" | > ..@ Dim : int [1:2] 3 3 | > ..@ Dimnames:List of 2 | > .. ..$ : NULL | > .. ..$ : NULL | > ..@ x : num(0) | > | > Matrix> (A <- cbind(a=c(2,1), b=1:2))# symmetric *apart* from dimnames | > a b | > [1,] 2 1 | > [2,] 1 2 | > | > Matrix> Matrix(A) # hence 'dgeMatrix' | > 2 x 2 Matrix of class "dgeMatrix" | > a b | > [1,] 2 1 | > [2,] 1 2 | > | > Matrix> (As <- Matrix(A, dimnames = list(NULL,NULL)))# -> symmetric | > 2 x 2 Matrix of class "dsyMatrix" | > [,1] [,2] | > [1,] 2 1 | > [2,] 1 2 | > | > Matrix> stopifnot(is(As, "symmetricMatrix"), | > Matrix+ is(Matrix(0, 3,3), "sparseMatrix"), | > Matrix+ is(Matrix(FALSE, 1,1), "sparseMatrix")) | 430,436c562,564 | < A: function (x, y, ...) | < { | < B <- function(a, b, ...) { | < match.call() | < } | < B(x + y, ...) | < } | --- | > A: new("dgCMatrix", i = c(0L, 3L, 4L, 5L, 2L, 6L, 7L), p = c(0L, | > 0L, 1L, 1L, 1L, 1L, 2L, 3L, 4L, 6L, 7L), Dim = c(8L, 10L), Dimnames = list( | > NULL, NULL), x = c(7, 21, 28, 35, 14, 42, 49), factors = list()) | 438,444c566,589 | < checking body(.): | < quote({ | < B <- function(a, b, ...) { | < match.call() | < } | < B(x + y, ...) | < }) | --- | > --=--=--=--=-- | > A.: new("dgCMatrix", i = c(0L, 3L, 4L, 5L, 2L, 6L, 7L), p = c(0L, | > 0L, 1L, 1L, 1L, 1L, 2L, 3L, 4L, 6L, 7L), Dim = c(8L, 10L), Dimnames = list( | > NULL, NULL), x = c(2, 21, 28, 35, 14, 42, 49), factors = list()) | > --> checking list(*): Ok | > --=--=--=--=-- | > A1: new("dgCMatrix", i = c(0L, 3L, 4L, 5L, 2L, 6L, 7L), p = c(0L, | > 0L, 1L, 1L, 1L, 1L, 2L, 3L, 4L, 6L, 7L), Dim = c(8L, 10L), Dimnames = list( | > NULL, NULL), x = c(7, 21, 28, 35, 14, 42, 49), factors = list()) | > --> checking list(*): Ok | > --=--=--=--=-- | > AA: new("dgCMatrix", i = c(0L, 3L, 4L, 5L, 2L, 6L, 7L), p = c(0L, | > 0L, 1L, 1L, 1L, 1L, 2L, 3L, 4L, 6L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, | > 7L, 7L, 7L, 7L), Dim = c(10L, 20L), Dimnames = list(NULL, NULL), | > x = c(7, 21, 28, 35, 14, 42, 49), factors = list()) | > --> checking list(*): Ok | > --=--=--=--=-- | > Aa: new("dgCMatrix", i = c(0L, 3L, 4L, 5L, 2L, 6L, 7L), p = c(0L, | > 0L, 1L, 1L, 1L, 1L, 2L, 3L, 4L, 6L, 7L), Dim = c(8L, 10L), Dimnames = list( | > NULL, NULL), x = c(9, 21, 28, 35, 14, 42, 49), factors = list()) | > --> checking list(*): Ok | > --=--=--=--=-- | > As: new("dsyMatrix", x = c(2, 1, 1, 2), Dim = c(2L, 2L), Dimnames = list( | > NULL, NULL), uplo = "U", factors = list()) | 446,448d590 | < checking formals(.): | < as.pairlist(alist(x = , y = , ... = )) | < __ not parse()able __: hasMissObj(.) is true | 551a694,701 | > D5.: new("ddiMatrix", diag = "N", Dim = c(5L, 5L), Dimnames = list( | > NULL, NULL), x = c(5, 4, 3, 2, 1)) | > --> checking list(*): Ok | > --=--=--=--=-- | > D5N: new("ddiMatrix", diag = "N", Dim = c(5L, 5L), Dimnames = list( | > NULL, NULL), x = c(5, 4, 3, 2, NA)) | > --> checking list(*): Ok | > --=--=--=--=-- | 564a715,718 | > I3: new("ddiMatrix", diag = "U", Dim = c(3L, 3L), Dimnames = list( | > NULL, NULL), x = numeric(0)) | > --> checking list(*): Ok | > --=--=--=--=-- | 588a743,747 | > M: new("ltCMatrix", i = c(0L, 0L, 1L), p = c(0L, 0L, 1L, 3L), Dim = c(3L, | > 3L), Dimnames = list(NULL, NULL), x = c(TRUE, TRUE, TRUE), uplo = "U", | > diag = "N") | > --> checking list(*): Ok | > --=--=--=--=-- | 612a772,776 | > args: structure(list(i = c(1, 3, 4, 5, 6, 7, 8, 1), j = c(2, 9, 6, | > 7, 8, 9, 10, 2), x = c(7, 14, 21, 28, 35, 42, 49, 2)), class = "data.frame", row.names = c(NA, | > -8L)) | > --> checking list(*): Ok | > --=--=--=--=-- | 732,733c896,901 | < e: <environment> | < __ not parse()able __: environment | --- | > dn: list(c("A", "B", "C"), c("a", "b", "c", "d", "e")) | > --> checking list(*): Ok | > --=--=--=--=-- | > e: new("ngCMatrix", i = integer(0), p = c(0L, 0L, 0L, 0L, 0L, 0L, | > 0L), Dim = c(4L, 6L), Dimnames = list(NULL, NULL), factors = list()) | > --> checking list(*): Ok | 844a1013,1015 | > i: c(1, 3, 4, 5, 6, 7, 8) | > --> checking list(*): Ok | > --=--=--=--=-- | 876a1048,1050 | > j: c(2, 9, 6, 7, 8, 9, 10) | > --> checking list(*): Ok | > --=--=--=--=-- | 886a1061,1064 | > l3: structure(c(FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, TRUE, TRUE, | > FALSE), .Dim = c(3L, 3L)) | > --> checking list(*): Ok | > --=--=--=--=-- | 891a1070,1074 | > m: new("dgCMatrix", i = c(2L, 0L, 1L, 2L, 0L, 1L), p = c(0L, 1L, | > 2L, 4L, 4L, 6L), Dim = c(3L, 5L), Dimnames = list(c("A", "B", | > "C"), c("a", "b", "c", "d", "e")), x = c(1, 2, 4, 3, 6, 5), factors = list()) | > --> checking list(*): Ok | > --=--=--=--=-- | 944a1128,1136 | > n: new("ngCMatrix", i = 5:0, p = c(0L, 0L, 1L, 2L, 3L, 4L, 5L, 6L | > ), Dim = 6:7, Dimnames = list(NULL, NULL), factors = list()) | > --> checking list(*): Ok | > --=--=--=--=-- | > nA: new("ngCMatrix", i = c(0L, 3L, 4L, 5L, 2L, 6L, 7L), p = c(0L, | > 0L, 1L, 1L, 1L, 1L, 2L, 3L, 4L, 6L, 7L), Dim = c(8L, 10L), Dimnames = list( | > NULL, NULL), factors = list()) | > --> checking list(*): Ok | > --=--=--=--=-- | 961a1154,1156 | > perm: c(2L, 3L, 6L, 4L, 1L, 7L, 5L) | > --> checking list(*): Ok | > --=--=--=--=-- | 1010a1206,1211 | > sA: new("dsCMatrix", i = c(0L, 3L, 4L, 5L, 2L, 6L, 7L), p = c(0L, | > 0L, 1L, 1L, 1L, 1L, 2L, 3L, 4L, 6L, 7L), Dim = c(10L, 10L), Dimnames = list( | > NULL, NULL), x = c(7, 21, 28, 35, 14, 42, 49), uplo = "U", | > factors = list()) | > --> checking list(*): Ok | > --=--=--=--=-- | 1014a1216,1220 | > sy: new("dsCMatrix", i = c(1L, 3L, 4L, 2L, 3L), p = c(0L, 0L, 0L, | > 0L, 1L, 3L, 4L, 5L), Dim = c(7L, 7L), Dimnames = list(NULL, NULL), | > x = c(1, 4, 5, 3, 2), uplo = "U", factors = list()) | > --> checking list(*): Ok | > --=--=--=--=-- | 1018a1225,1230 | > tA: new("dtCMatrix", i = c(0L, 3L, 4L, 5L, 2L, 6L, 7L), p = c(0L, | > 0L, 1L, 1L, 1L, 1L, 2L, 3L, 4L, 6L, 7L), Dim = c(10L, 10L), Dimnames = list( | > NULL, NULL), x = c(7, 21, 28, 35, 14, 42, 49), uplo = "U", | > diag = "N") | > --> checking list(*): Ok | > --=--=--=--=-- | 1048c1260,1261 | < 2: In dput(x, control = control) : deparse may be incomplete | --- | > 2: In deparse(expr, backtick = backtick, control = control, ...) : | > deparse may be incomplete | 1051c1264,1265 | < 4: In deparse(expr, backtick = backtick, control = control, ...) : | --- | > 4: In dput(x, control = control) : deparse may be incomplete | > 5: In deparse(expr, backtick = backtick, control = control, ...) : | 1053d1266 | < 5: In dput(x, control = control) : deparse may be incomplete | 1056c1269,1270 | < 7: In deparse(expr, backtick = backtick, control = control, ...) : | --- | > 7: In dput(x, control = control) : deparse may be incomplete | > 8: In deparse(expr, backtick = backtick, control = control, ...) : | 1058d1271 | < 8: In dput(x, control = control) : deparse may be incomplete | 1061,1062d1273 | < 10: In deparse(expr, backtick = backtick, control = control, ...) : | < deparse may be incomplete | 1064c1275 | < Summary of (a total of 10) warning messages: | --- | > Summary of (a total of 9) warning messages: | 1066c1277 | < 4x : In deparse(expr, backtick = backtick, control = control, ... : | --- | > 3x : In deparse(expr, backtick = backtick, control = control, ... : | make[3]: *** [Makefile.common:106: eval-etc.Rout] Error 1 Now, I'm not quite sure how to interpret that output. Some of these issues seem harmless, really, and not indicative of a serious problem in R. Still, I reckon that it would be nice if the test suite would pass and for all I know other people might run into the same issue as we did, so I felt I should report it to the devs. If there is any advice how to remedy this issues, then I'd very much appreciate it. Best regards, Peter [1] https://hydra.nixos.org/build/73154582/nixlog/3 ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel