[Rd] R 2.3.0 (alpha) on FreeBSD 6.1 fails make check-all

Prof Brian Ripley ripley at stats.ox.ac.uk
Tue Mar 28 13:02:11 CEST 2006


Then we need you to dig in to find out why.  I'd start by seeing if Phyper 
had changed (either by printing it to 16dp or by saving it from 2.2.1 and 
reloading into 2.3.0).

On Tue, 28 Mar 2006, Andrew Robinson wrote:

> I get:
>
>> Rhyper <- scan()
> 1: 16 11 11 15 11 13 13 12 13 10 10  7 11 14 13  9 14 13 13 11
> 21:
> Read 20 items
>> Phyper         <- phyper   (Rhyper, m = 40, n = 30, k = 20)
>> qhyper(Phyper, m = 40, n = 30, k = 20)
> [1] 16 11 11 15 11 13 13 12 13 10 10  8 11 14 13  9 14 13 13 11
>
>
> The 12th element (8) differs from the input (7).
>
>
>> Phyper <- phyper (7, m = 40, n = 30, k = 20)
>> qhyper(Phyper, m = 40, n = 30, k = 20)
> [1] 8
>
>
> If I do this using 2.2.1 then the input and the output are identical.
>
>
>
>
> On Tue, Mar 28, 2006 at 10:27:08AM +0100, Prof Brian Ripley wrote:
>> On Tue, 28 Mar 2006, Andrew Robinson wrote:
>>
>>> You're welcome.  You are correct.  d-p-q-r-tests.Rout.fail
>>> shows:
>>>
>>>> All.eq(Rhyper,          qhyper   (Phyper, m = 40, n = 30, k = 20))
>>> [1] "Mean scaled  difference: 0.08333333"
>>
>> Yes, please run the lines below, e.g.
>>
>> Rhyper <- scan()
>> 16 11 11 15 11 13 13 12 13 10 10  7 11 14 13  9 14 13 13 11
>>
>> Phyper         <- phyper   (Rhyper, m = 40, n = 30, k = 20)
>> qhyper(Phyper, m = 40, n = 30, k = 20)
>>
>> and tell us what answer you get.
>>
>>
>>>
>>>
>>>
>>> Let me know if/how I can further assist.
>>>
>>> Andrew
>>>
>>>
>>>
>>> On Tue, Mar 28, 2006 at 09:03:48AM +0100, Prof Brian Ripley wrote:
>>>> Thanks for checking.
>>>>
>>>> Please look in d-p-q-r-tests.Rout.fail and see what immediately preceeds
>>>> the line
>>>>
>>>> [1] "Mean scaled  difference: 0.08333333"
>>>>
>>>> Some experimentation suggests it is
>>>>
>>>>> All.eq(Rhyper,	  qhyper   (Phyper, m = 40, n = 30, k = 20))
>>>>
>>>> If so, we have
>>>>
>>>> Rhyper <- scan()
>>>> 16 11 11 15 11 13 13 12 13 10 10  7 11 14 13  9 14 13 13 11
>>>>
>>>> Phyper	  <- phyper   (Rhyper, m = 40, n = 30, k = 20)
>>>>
>>>> and those have been checked.  So the error would appear to be in
>>>>
>>>> qhyper(Phyper, m = 40, n = 30, k = 20)
>>>>
>>>> and indeed a mean scaled difference of 1/12 is plausible, since the mean
>>>> of Rhyper is 12. So I deduce that your platform has a problem in qhyper,
>>>> but please cross-check.
>>>>
>>>> If so, this is strange as the only recent change to qhyper.c (or things I
>>>> can see it uses such as lfastchoose) is cosmetic.
>>>>
>>>> Can you confirm the diagnosis is correct so far?
>>>>
>>>>
>>>> On Tue, 28 Mar 2006, Andrew Robinson wrote:
>>>>
>>>>> Hi Developers,
>>>>>
>>>>> The alpha, compiles successfully, but it is failing make check-all (on
>>>>> two seperate machines, both FreeBSD 6.1).
>>>>>
>>>>> Here is the version string:
>>>>>
>>>>> platform       i386-unknown-freebsd6.1
>>>>> arch           i386
>>>>> os             freebsd6.1
>>>>> system         i386, freebsd6.1
>>>>> status         alpha
>>>>> major          2
>>>>> minor          3.0
>>>>> year           2006
>>>>> month          03
>>>>> day            27
>>>>> svn rev        37584
>>>>> language       R
>>>>> version.string Version 2.3.0 alpha (2006-03-27 r37584)
>>>>>
>>>>>
>>>>>
>>>>> Here is the error message from make check-all
>>>>>
>>>>> comparing 'd-p-q-r-tests.Rout' to './d-p-q-r-tests.Rout.save'
>>>>> ...706c706
>>>>> < [1] "Mean scaled  difference: 0.08333333"
>>>>> ---
>>>>>> [1] TRUE
>>>>> gmake[3]: *** [d-p-q-r-tests.Rout] Error 1
>>>>> gmake[3]: Leaving directory `/usr/local/beta/R-alpha/tests'
>>>>> gmake[2]: *** [test-Specific] Error 2
>>>>> gmake[2]: Leaving directory `/usr/local/beta/R-alpha/tests'
>>>>> gmake[1]: *** [test-all-basics] Error 1
>>>>> gmake[1]: Leaving directory `/usr/local/beta/R-alpha/tests'
>>>>> gmake: *** [check-all] Error 2
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> I have checked d-p-q-r-tests.Rout.fail for any obvious problems - I
>>>>> found some warnings, viz.
>>>>>
>>>>>
>>>>>
>>>>>> pgamma(1,Inf,scale=Inf) == 0
>>>>> [1] TRUE
>>>>>> ## Also pgamma(Inf,Inf) == 1 for which NaN was slightly more
>>>>> appropriate
>>>>>> all(is.nan(c(pgamma(Inf,  1,scale=Inf),
>>>>> +              pgamma(Inf,Inf,scale=Inf))))
>>>>> [1] TRUE
>>>>> Warning messages:
>>>>> 1: NaNs produced in: pgamma(q, shape, scale, lower.tail, log.p)
>>>>> 2: NaNs produced in: pgamma(q, shape, scale, lower.tail, log.p)
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>> x0 <- -2 * 10^-c(22,10,7,5)
>>>>>> stopifnot(pbinom(x0, size = 3, prob = 0.1) == 0,
>>>>> +           dbinom(x0, 3, 0.1) == 0) # d*() warns about non-integer
>>>>> Warning messages:
>>>>> 1: non-integer x = -0.000000
>>>>> 2: non-integer x = -0.000020
>>>>>> ## very small negatives were rounded to 0 in R 2.2.1 and earlier
>>>>>>
>>>>>
>>>>>
>>>>> I hope that this is helpful.  Thanks are due to Peter Dalgaard for
>>>>> guidance.  So, thanks Peter :).
>>>>>
>>>>> Cheers
>>>>>
>>>>> Andrew
>>>>>
>>>>
>>>> --
>>>> Brian D. Ripley,                  ripley at stats.ox.ac.uk
>>>> Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
>>>> University of Oxford,             Tel:  +44 1865 272861 (self)
>>>> 1 South Parks Road,                     +44 1865 272866 (PA)
>>>> Oxford OX1 3TG, UK                Fax:  +44 1865 272595
>>>
>>>
>>
>> --
>> Brian D. Ripley,                  ripley at stats.ox.ac.uk
>> Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
>> University of Oxford,             Tel:  +44 1865 272861 (self)
>> 1 South Parks Road,                     +44 1865 272866 (PA)
>> Oxford OX1 3TG, UK                Fax:  +44 1865 272595
>
>

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



More information about the R-devel mailing list