Re: [Rd] R 3.5.0 fails its regression test suite on Linux/x86_64
Duncan Murdoch writes: >> ./configure --without-recommended-packages && make && make check > > So you're getting paid to do what you do, but you want the volunteers > in R Core to do some work for you for free. You are jumping to conclusions. Nobody pays me a single cent to package R for Nix; I do that purely as a hobby. >> If no-one wants to make those changes for whatever reason, then that's fine >> and >> I'll just disable the test suite in NixOS to make the build succeed. I feel >> like >> that would be a sub-optimal solution, though. > > I agree. You should spend some time working out a better one. Well, you know, every so often, I reach out to people in a free software community to make them aware of some issue I've run into. On some occasions, members of those communities respond in a helpful and friendly manner that impresses me because these people are obviously thoughtful and issue-oriented and offer nuanced insight into the problem I've brought up, and then I feel like it would be fun to interact with those people to learn new stuff and maybe contribute something useful. That's the point about volunteering, right? People do it because they *enjoy it*, not because someone tells them to. So, you go ahead and have a very nice day, Duncan. Best regards, Peter __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] R 3.5.0 fails its regression test suite on Linux/x86_64
Hi Dirk, > I have been doing for R for about 20 years (if you count the time I > assisted Doug Bates when he was still the maintainer) (and longer for > Debian), and you seem to follow the same model we set up years ago of > splitting the content of r-recommended (itself a virtual package) off > r-base-core. > > You simply need to do this in stages. I have packaged free software for 20+ years for many different distributions, and, in fact, I'm doing that professionally these days as an employee of one of the largest commercial Linux distributors. So please trust my expertise when I tell you that this is not what I want. What I want is ./configure --without-recommended-packages && make && make check to succeed without error, and I don't think that's an unreasonable expectation. I have reported these kind of errors before in past, and back then a friendly R developer simply took a moment to disable the offending tests when the build was configured with this particular flag and that solved the problem. I would hope that this is the outcome we can achieve this time, too. If no-one wants to make those changes for whatever reason, then that's fine and I'll just disable the test suite in NixOS to make the build succeed. I feel like that would be a sub-optimal solution, though. Best regards, Peter __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] R 3.5.0 fails its regression test suite on Linux/x86_64
Duncan Murdochwrites: > You can likely get rid of most of them by building with the recommended > packages. unfortunately, this is not an option for us. For various reasons, our build process requires that we build those packages separately. Ricardo appears to be in a similar situation and he has outlined some of those reasons already in his message. Anyway, it would be FAR better for us if "make check" would simply succeed in the configuration we're using. We'd be perfectly happy to have those tests disabled that cannot be executed without the recommended packages available. Is there a way to accomplish that? Best regards, Peter __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
[Rd] R 3.5.0 fails its regression test suite on Linux/x86_64
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,]00 | > [2,]00 | > [3,]00 | > | > 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,]00 | > [2,]00 | > | > Matrix> Matrix(1:6, 3, 2) # a 3 by 2 matrix (+ integer warning) | > 3 x 2 Matrix of class "dgeMatrix" | > [,1] [,2] | > [1,]14 | > [2,]25 | > [3,]36 | > | > Matrix> Matrix(1:6 + 1, nrow=3) | > 3 x 2 Matrix of class "dgeMatrix" | > [,1] [,2] | > [1,]25 | > [2,]36 | > [3,]47 | > | > 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 | > |
Re: [Rd] Test suite failures in R-devel_2017-02-25_r72256
Hi Martin, > Is it necessary to also run the 'make check' part in that restricted > environment? Or could that ('checking") not get more priviledges? in NixOS, there is no way to run any kind of build process in an environment that has network access. On one hand, that is a security consideration, but the even more compelling reason for that choice is that NixOS goes to great lengths to guarantee deterministic builds, and a build process that connects to servers on the Internet and uses data they provides is as non-deterministic as it can be, unfortunately. What we can do for the 3.4.0 release is to extend our build environment for R to ensure that all required resources are downloaded and made available locally before the build starts. > Note that you can only run "make check" if you don't install > recommended packages, whereas more thorough testing would > include > make check-devel > or even > make check-all > > but these do have quite a bit more requirements including recommended > packages being present. Thank you for pointing that out. We do offer our users the choice of whether they want the recommended packages included or not (the default choice being to not include them), so we should in fact parameterize our build to run the extended test suite if the recommended packages are built. Another option would be to always build the recommended packages, but to not install them if the user doesn't want them included. I'm not sure, though, whether the R build system supports such a type of build easily? Best regards, Peter __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] Test suite failures in R-rc_2017-02-28_r72286.tar.gz
Hi Brian, > R-devel (your subject line) is not a pre-release of R 3.3.3: it is 'R > Under development' for what is planned as R 3.4.0. Pre-release > tarballs for 3.3.3 are things like R-rc_2017-02-26_r72260.tar.gz (and > were previously labelled R-beta). I did not realize this distinction exists. I am sorry about the misleading report. I followed the link for "3.3.3 release candidates" and didn't expect that directory to contain tarballs for 3.4.0, too. In hindsight, that should have been obvious from the different file names, I suppose. Thank you for the clarification. I re-ran the build and test suite with the correct tarball, R-rc_2017-02-28_r72286.tar.gz, and the result looks different indeed. With that version, I get a test suite error in reg-tests-1c from "tests". I'm citing the relevant bit from "reg-tests-1c.Rout.fail": | > [...] | > ## format.POSIXlt() of Jan.1 if 1941 or '42 is involved: | > tJan1 <- function(n1, n2) | + strptime(paste0(n1:n2,"/01/01"), "%Y/%m/%d", tz="CET") | > wDSTJan1 <- function(n1, n2) | + which("CEST" == sub(".* ", '', format(tJan1(n1,n2), usetz=TRUE))) | > (w8 <- wDSTJan1(1801, 2300)) | integer(0) | > (w9 <- wDSTJan1(1901, 2300)) | integer(0) | > stopifnot(identical(w8, 141:142),# exactly 1941:1942 had CEST on Jan.1 | + identical(w9, 41: 42)) | Error: identical(w8, 141:142) is not TRUE | Execution halted This happens in the --without-recommended-packages style build. Not sure whether this is relevant. The sessionInfo() output looks as follows: | R version 3.3.3 RC (2017-02-28 r72286) | Platform: x86_64-pc-linux-gnu (64-bit) | | locale: | [1] C | | attached base packages: | [1] stats graphics grDevices utils datasets base Best regards, Peter __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
[Rd] Test suite failures in R-devel_2017-02-25_r72256
Hi, I tried compiling the latest pre-release for R 3.3.3 for the NixOS Linux distribution [1], but the build fails during the "make check" phase because of the following 2 issues: 1) The "tools" test in "tests/Examples" requires network access, which it doesn't have in our build environment. Therefore, it fails as follows according to "tools-Ex.Rout.fail": | [...] | > set.seed(11) | > ## End(Don't show) | > pdb <- CRAN_package_db() | Warning in url(sprintf("%s/%s", cran, path), open = "rb") : | URL 'http://CRAN.R-project.org/web/packages/packages.rds': status was 'Couldn't resolve host name' | Error in url(sprintf("%s/%s", cran, path), open = "rb") : | cannot open the connection to 'http://CRAN.R-project.org/web/packages/packages.rds' | Calls: CRAN_package_db -> as.data.frame -> read_CRAN_object -> gzcon -> url | Execution halted I'm wondering whether it would be possible to extend the test suite with a configure-time flag that disable tests which depend on network access? My experience is that most modern Linux distributions run their builds in a restricted environment and therefore will run into trouble if the suite assumes that it can access the Internet. 2) When R is compiled with the --without-recommended-packages flag (which is our preferred configuration), the "base" test in "tests/Examples" fails, apparently because it depends on MASS. I'm citing from "base-Ex.Rout.fail": | > ## The string "foo" and the symbol 'foo' can be used interchangably here: | > stopifnot( identical(isNamespaceLoaded( "foo" ), FALSE), | + identical(isNamespaceLoaded(quote(foo)), FALSE), | + identical(isNamespaceLoaded(quote(stats)), statL)) | > | > hasM <- isNamespaceLoaded("MASS") # (to restore if needed) | > Mns <- asNamespace("MASS") # loads it if not already | Error in loadNamespace(name) : there is no package called 'MASS' | Calls: asNamespace ... tryCatch -> tryCatchList -> tryCatchOne -> | Execution halted I hope this helps! Best regards, Peter [1] http://nixos.org/ __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] R 3.1.1 and 3.1.2 both fail their test suites
Hi Duncan, I don't think we should be removing tests for everybody to allow a few people to test a build of R that none of us actually use. no tests need to be removed. All that needs to be done is to distinguish tests that require the recommended packages from those that don't. Then users can choose which test set they want to run. It would be particularly nice if make check would do the right thing automatically based on the choice of --with{,out}-recommended-packages at ./configure time. Offering two separate check targets would be equally good, though. Best regards, Peter __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
[Rd] R 3.1.1 and 3.1.2 both fail their test suites
Hi, I maintain the R packages in the NixOS Linux distribution [1]. A while ago, I attempted to update to version 3.1.1, but I ran into the following test suite failure: | Testing examples for package 'tools' | comparing 'tools-Ex.Rout' to 'tools-Ex.Rout.save' ... | 452c452 | character(0) | --- | [1] Matrix nlme mgcv | 856c856 | character(0) | --- | [1] lattice | 865c865 | character(0) | --- | [1] R (= 2.15.1) | Testing examples for package 'utils' | Error: testing 'utils' failed I reported that issue at [2], and waited for something to happen. Now, version 3.1.2 comes out and I try to update again, but it has the exact same error. Apparently, no-one cares about the problem we've run into? Now, I wonder how to proceed. It doesn't look like this issue is going to be fixed any time soon. So I guess I should disable the make check phase in NixOS and ship software to our users that doesn't pass its own self-test? Best regards, Peter [1] http://nixos.org/ [2] https://bugs.r-project.org/bugzilla/show_bug.cgi?id=15975 __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] R 3.1.1 and 3.1.2 both fail their test suites
Hi Uwe, Nobody in R core runs NixOS and can reproduce this. This passes on most other platforms, apparently. If you can point us to a problem or send patches, we'd appreciate it. have tried running the test suite in a build that's configured with '--without-recommended-packages'? That's about the only unusual thing we do when building with Nix. Other than that, our build runs on a perfectly ordinary Linux -- and it used to succeed fine in earlier versions of R. Best regards, Peter __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
Re: [Rd] R 3.1.1 and 3.1.2 both fail their test suites
Hi Uwe, have tried running the test suite in a build that's configured with '--without-recommended-packages'? Of course this fails in the case when we check for the recommended packages: | character(0) | --- | [1] Matrix nlme mgcv If Matrix et al are not there, they can't be reported to be there, of course... maybe that test could be made a little bit smarter to deal with the seemingly legit use-case of passing --without-recommended-packages? Best regards, Peter __ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel