[Rd] Regression test failed when building on an "older" Linux cluster

From: Dalphin, Mark <mdalphin_at_amgen.com>
Date: Thu, 18 Oct 2007 14:01:40 -0700


We have an aging Linux Cluster here, running Red Hat 7.3. We have some business reasons for not upgrading the OS version. I don't recall the exact hardware (dual Pentium III, 4 Gbyte RAM, 1 GHz clock?), but it was pretty good in 2001 or so.

We recently tried to build and install R, ver 2.6.0, for this cluster. It built and apparently ran correctly, but it failed "make check". Earlier versions of R failed "make check" as well, not always for the same reason.

I just located the failure in the tests. It is in the file: R-2.6.0/tests/reg-tests-1.R and fails in the code:

## related checks on eff.aovlist
example(eff.aovlist) # helmert contrasts eff1 <- eff.aovlist(fit)
fit <- aov(Yield ~ A * B * C + Error(Block), data = aovdat) eff2 <- eff.aovlist(fit)
stopifnot(all.equal(eff1, eff2)) # will have rounding-error differences options(contrasts = old)
## Were different in earlier versions

The failure occurred in the 'stopifnot()' call, but was preceded by a warning about a lack of documentation in "example(eff.aovlist)". I looked at
"example" and found that it relies on available documentation to work,
returning this warning when no documentation is found:

    file <- index.search(topic, INDICES, "AnIndex", "R-ex")     if (file == "") {

        warning(gettextf("no help file found for '%s'", topic), 
            domain = NA)
        return(invisible())

Well, our old Linux cluster doesn't support building R documentation; why would it when we are very limited on disk space for each node? No one can log in there; it is all run via LSF. The lack of documentation makes
"example()" fail to return anything and the "reg-tests-1.R" requires that a
value for 'fit' be returned in the global environment for comparison. In short, in the absence of documentation, this regression test must fail. (I am assuming that my interpretation of the failure is correct; please feel free to let me know that I am mis-interpreting the cause of failure!).

If I comment out the above code, all the other tests run correctly. Of course, normally we would build on another, better equipped host, and then copy R to each host. That is not possible in this case as the glibc is so old that it is not compatible with the calls generated on newer hosts.

I am surprised that this problem with "example()" doesn't cause other failures in the "make check". It makes me think that the use of "example()" here is unusual (or that I am misinterpreting the failure). If that is the case, then I suggest removing the call to "example" and replacing it with the code from within that example. I believe that running R on a compute cluster without documentation building tools is not an unreasonable use case. (If that is so, why haven't others stumbled onto this problem before me? I don't know.) Making the regression tests work in the absence of documentation, along with the rest of R seems reasonable.

We are now using R on the compute cluster. This email's purpose is to suggest that R may at times be built in an environment without documentation tools and it would be nice if the regression tests still worked there. I hope the developers will consider this use case.

Regards,
Mark Dalphin

PS Having written this email, I am consumed by guilt; I haven't properly and recently checked the "R admin manual" that I should be able to build R without documentation. Checking for "essential programs for building and running R" doesn't seem to show that building documentation is required. I am relieved to report that building documentation, despite being under
"Essential Programs" section is described in a manner suggesting that
documentation is optional.
http://cran.r-project.org/doc/manuals/R-admin.html#Essential-and-useful-othe r-programs-under-Unix



Mark Dalphin
Dept Comp Biol, M/S AW2/D3262
Amgen, Inc.
1201 Amgen Court W
Seattle, WA 98119
Phone: +1-206-265-7951

        [[alternative HTML version deleted]]



R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Fri 19 Oct 2007 - 07:43:35 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Thu 25 Oct 2007 - 11:37:11 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.