Re: [Rd] R 3.5.0 fails its regression test suite on Linux/x86_64

2018-04-24 Thread Peter Simons
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

2018-04-23 Thread Peter Simons
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

2018-04-23 Thread Peter Simons
Duncan Murdoch  writes:

 > 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

2018-04-23 Thread Peter Simons
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

2017-03-01 Thread Peter Simons
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

2017-03-01 Thread Peter Simons
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

2017-02-27 Thread Peter Simons
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

2014-11-05 Thread Peter Simons
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

2014-11-01 Thread Peter Simons
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

2014-11-01 Thread Peter Simons
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

2014-11-01 Thread Peter Simons
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