Henrik Bengtsson
2021-May-04 20:03 UTC
[Rd] Testing R build when using --without-recommended-packages?
Two questions to R Core: 1. Is R designed so that 'recommended' packages are optional, or should that be considered uncharted territories? 2. Can such an R build/installation be validated using existing check methods? -- Dirk, it's not clear to me whether you know for sure, or you draw conclusions based your long experience and reading. I think it's very important that others don't find this thread later on and read your comments as if they're the "truth" (unless they are). I haven't re-read it from start to finish, but there are passages in 'R Installation and Administration' suggesting you can build and install R without 'recommended' packages. For example, post-installation, Section 'Testing an Installation' suggests you can run (after making sure `make install-tests`): cd tests ../bin/R CMD make check but they fail the same way. The passage continuous "... and other useful targets are test-BasePackages and test-Recommended to run tests of the standard and recommended packages (if installed) respectively." (*). So, to me that hints at 'recommended' packages are optional just as they're "Priority: recommended". Further down, there's also a mentioning of: $ R_LIBS_USER="" R --vanilla> Sys.setenv(LC_COLLATE = "C", LC_TIME = "C", LANGUAGE = "en") > tools::testInstalledPackages(scope = "base")which also produces errors when 'recommended' packages are missing, e.g. "Failed with error: 'there is no package called 'nlme'". (*) BTW, '../bin/R CMD make test-BasePackages' gives "make: *** No rule to make target 'test-BasePackages'. Stop." Thanks, /Henrik On Tue, May 4, 2021 at 12:22 PM Dirk Eddelbuettel <edd at debian.org> wrote:> > > On 4 May 2021 at 11:25, Henrik Bengtsson wrote: > | FWIW, > | > | $ ./configure --help > | ... > | --with-recommended-packages > | use/install recommended R packages [yes] > > Of course. But look at the verb in your Subject: no optionality _in testing_ there. > > You obviously need to be able to build R itself to then build the recommended > packages you need for testing. > > Dirk > > -- > https://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
Gabriel Becker
2021-May-04 21:10 UTC
[Rd] Testing R build when using --without-recommended-packages?
Hi Henrik, A couple of things. Firstly, so far asI have ever heard, it's valid that a package have hard dependencies in its tests for packages listed only in Suggests. In fact, that is one of the stated purposes of Suggests. An argument could be made, I suppose, that the base packages should be under stricter guidelines, but stats isn't violating the letter or intention of Suggests by doing this. Secondly, I don't have time to dig through the make files/administration docs, but I do know that R CMD check has --no-stop-on-error, so you can either separately or as part of make check, use that option for stats (and elsewhere as needed?) and just know that the stats tests that depend on MASS are "false positive" (or, more accurately, missing value) test results, rather than real positives, and go from there. You could also "patch" the tests as part of your build process. Somewhere I worked had to do that for parts of the internet tests that were unable to get through the firewall. Best, ~G On Tue, May 4, 2021 at 1:04 PM Henrik Bengtsson <henrik.bengtsson at gmail.com> wrote:> Two questions to R Core: > > 1. Is R designed so that 'recommended' packages are optional, or > should that be considered uncharted territories? > > 2. Can such an R build/installation be validated using existing check > methods? > > > -- > > Dirk, it's not clear to me whether you know for sure, or you draw > conclusions based your long experience and reading. I think it's very > important that others don't find this thread later on and read your > comments as if they're the "truth" (unless they are). I haven't > re-read it from start to finish, but there are passages in 'R > Installation and Administration' suggesting you can build and install > R without 'recommended' packages. For example, post-installation, > Section 'Testing an Installation' suggests you can run (after making > sure `make install-tests`): > > cd tests > ../bin/R CMD make check > > but they fail the same way. The passage continuous "... and other > useful targets are test-BasePackages and test-Recommended to run tests > of the standard and recommended packages (if installed) respectively." > (*). So, to me that hints at 'recommended' packages are optional just > as they're "Priority: recommended". Further down, there's also a > mentioning of: > > $ R_LIBS_USER="" R --vanilla > > Sys.setenv(LC_COLLATE = "C", LC_TIME = "C", LANGUAGE = "en") > > tools::testInstalledPackages(scope = "base") > > which also produces errors when 'recommended' packages are missing, > e.g. "Failed with error: 'there is no package called 'nlme'". > > (*) BTW, '../bin/R CMD make test-BasePackages' gives "make: *** No > rule to make target 'test-BasePackages'. Stop." > > Thanks, > > /Henrik > > On Tue, May 4, 2021 at 12:22 PM Dirk Eddelbuettel <edd at debian.org> wrote: > > > > > > On 4 May 2021 at 11:25, Henrik Bengtsson wrote: > > | FWIW, > > | > > | $ ./configure --help > > | ... > > | --with-recommended-packages > > | use/install recommended R packages [yes] > > > > Of course. But look at the verb in your Subject: no optionality _in > testing_ there. > > > > You obviously need to be able to build R itself to then build the > recommended > > packages you need for testing. > > > > Dirk > > > > -- > > https://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel >[[alternative HTML version deleted]]