From pgilbert902 at gmail.com  Fri Oct 26 20:58:06 2012
From: pgilbert902 at gmail.com (Paul Gilbert)
Date: Fri, 26 Oct 2012 14:58:06 -0400
Subject: [Rd] R 2.15.2 make check failure on 32-bit --with-blas="-lgoto2"
In-Reply-To: <508AB73B.7060604@stats.ox.ac.uk>
References: <BB567862-451A-4831-9454-721868A41069@cbs.dk>
	<508AAE25.6090500@gmail.com> <508AB73B.7060604@stats.ox.ac.uk>
Message-ID: <508ADD3E.4060301@gmail.com>



On 12-10-26 12:15 PM, Prof Brian Ripley wrote:
> On 26/10/2012 16:37, Paul Gilbert wrote:
>> Is --with-blas="-lgoto2"  a known problem (other than possibly not being
>> the preferred choice)?
>
> And what precisely is it? And what chipset are you using?
>
>> I thought I had been testing RC with the same setup I regularly use, but
>> I now see there was a slight difference. I am now getting the following
>> failure in make check on  32-bit Ubuntu 12.04, configuring with
>> --with-blas="-lgoto2". (These may not be surprising statistically or
>> numerically, but it is a bit disconcerting when make check fails.)
>
> No failure shown here ...  surely you know that the signs of principal
> components are not determined?

I apologize, I missed the real error. (But yes, I am aware of this, and 
also that I should expect precision differences with different libraries 
and different architectures.) I thought for a moment that make was 
throwing an error because of the differences, but in fact it was later:

Testing examples for package ?grid?
   comparing ?grid-Ex.Rout? to ?grid-Ex.Rout.save? ... OK
Testing examples for package ?splines?
Error: testing 'splines' failed
Execution halted
make[3]: *** [test-Examples-Base] Error 1
make[3]: Leaving directory `/home/paul/RoboAdmin/R-2.15.2/tests/Examples'
make[2]: *** [test-Examples] Error 2
make[2]: Leaving directory `/home/paul/RoboAdmin/R-2.15.2/tests'
make[1]: *** [test-all-basics] Error 1
make[1]: Leaving directory `/home/paul/RoboAdmin/R-2.15.2/tests'
make: *** [check] Error 2
paul at toaster:~/RoboAdmin/R-2.15.2$


The problem seems to be here:

 > source("~/RoboAdmin/R-2.15.2/tests/Examples/splines-Ex.R")
List of 2
  $ x: num [1:51] 58 58.3 58.6 58.8 59.1 ...
  $ y: num [1:51] 115 115 116 117 117 ...
  - attr(*, "class")= chr "xyVector"
Warning in bs(height, degree = 3L, knots = c(62.6666666666667, 
67.3333333333333 :
   some 'x' values beyond boundary knots may cause ill-conditioned bases
Error: identical(ns(x, df = 2), ns(x, df = 2, knots = NULL)) is not TRUE
 > traceback()
6: stop(paste0(ch, " is not ", if (length(r) > 1L) "all ", "TRUE"),
        call. = FALSE)
5: stopifnot(identical(ns(x), ns(x, df = 1)), identical(ns(x, df = 2),
        ns(x, df = 2, knots = NULL)), !is.null(kk <- attr(ns(x),
        "knots")), length(kk) == 0) at splines-Ex.R#130
4: eval(expr, envir, enclos)
3: eval(ei, envir)
2: withVisible(eval(ei, envir))
1: source("~/RoboAdmin/R-2.15.2/tests/Examples/splines-Ex.R")
 >

It also seems that this error is transient. If I rerun several times, it 
does not always happen. Is anyone aware of other cases of transient 
problems with 32-bit goto2?

Here is the cpu info:

paul at toaster:~$ cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 15
model name	: Intel(R) Core(TM)2 Duo CPU     T7300  @ 2.00GHz
stepping	: 10
microcode	: 0x92
cpu MHz		: 800.000
cache size	: 4096 KB
physical id	: 0
siblings	: 2
core id		: 0
cpu cores	: 2
apicid		: 0
initial apicid	: 0
fdiv_bug	: no
hlt_bug		: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 10
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat 
pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc 
arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 
ssse3 cx16 xtpr pdcm lahf_lm ida dtherm tpr_shadow vnmi flexpriority
bogomips	: 3989.99
clflush size	: 64
cache_alignment	: 64
address sizes	: 36 bits physical, 48 bits virtual
power management:

processor	: 1
vendor_id	: GenuineIntel
cpu family	: 6
model		: 15
model name	: Intel(R) Core(TM)2 Duo CPU     T7300  @ 2.00GHz
stepping	: 10
microcode	: 0x92
cpu MHz		: 800.000
cache size	: 4096 KB
physical id	: 0
siblings	: 2
core id		: 1
cpu cores	: 2
apicid		: 1
initial apicid	: 1
fdiv_bug	: no
hlt_bug		: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 10
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat 
pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc 
arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 
ssse3 cx16 xtpr pdcm lahf_lm ida dtherm tpr_shadow vnmi flexpriority
bogomips	: 3989.97
clflush size	: 64
cache_alignment	: 64
address sizes	: 36 bits physical, 48 bits virtual
power management:

Paul

>
> And 32-bit platforms seem prone to round in different ways (to each
> other and to 64-bit platforms): the differences in the last digit are
> typical of 32-bit platforms.
>
>> ...
>> Testing examples for package ?stats?
>>    comparing ?stats-Ex.Rout? to ?stats-Ex.Rout.save? ...
>> 2959c2959
>> < N:K        1  33.13   33.13   2.146 0.16865
>> ---
>>  > N:K        1  33.14   33.14   2.146 0.16865
>> 12782c12782
>> < Murder   -0.536  0.418  0.341  0.649
>> ---
>>  > Murder   -0.536  0.418 -0.341  0.649
>> 12783c12783
>> < Assault  -0.583  0.188  0.268 -0.743
>> ---
>>  > Assault  -0.583  0.188 -0.268 -0.743
>> 12784c12784
>> < UrbanPop -0.278 -0.873  0.378  0.134
>> ---
>>  > UrbanPop -0.278 -0.873 -0.378  0.134
>> 12785c12785
>> < Rape     -0.543 -0.167 -0.818
>> ---
>>  > Rape     -0.543 -0.167  0.818
>> 12943c12943
>> < 6  -0.5412  20.482886    -0.845157
>> ---
>>  > 6  -0.5412  20.482887    -0.845157
>> 14481c14481
>> < Sum of Squares   780.1250  276.1250 2556.1250  112.5000  774.0937
>> ---
>>  > Sum of Squares   780.1250  276.1250 2556.1250  112.5000  774.0938
>> 15571c15571
>> < Murder   -0.54   0.42   0.34   0.65
>> ---
>>  > Murder   -0.54   0.42  -0.34   0.65
>> 15572c15572
>> < Assault  -0.58          0.27  -0.74
>> ---
>>  > Assault  -0.58         -0.27  -0.74
>> 15573c15573
>> < UrbanPop -0.28  -0.87   0.38
>> ---
>>  > UrbanPop -0.28  -0.87  -0.38
>> 15574c15574
>> < Rape     -0.54         -0.82
>> ---
>>  > Rape     -0.54          0.82
>> Testing examples for package ?datasets?
>>    comparing ?datasets-Ex.Rout? to ?datasets-Ex.Rout.save? ... OK
>> ...
>>
>> I inadvertently seemed to have set things slightly differently while
>> testing RC. While testing the RC,  I was using
>> ./configure --prefix=/home/paul/RoboRC/R-test/  --enable-R-shlib
>>
>> and configure gave
>> ...
>>    External libraries:        readline
>>    Additional capabilities:   PNG, NLS
>>    Options enabled:           shared R library, shared BLAS, R
>> profiling, Java
>>
>> whereas with the release I used
>> ./configure --prefix=/home/paul/RoboAdmin/R-2.15.2 --enable-R-shlib
>> --with-blas="-lgoto2"
>>
>> and configure gave
>> ...
>>    External libraries:        readline, BLAS(generic)
>>    Additional capabilities:   PNG, NLS
>>    Options enabled:           shared R library, R profiling, Java
>>
>> Thanks,
>> Paul
>>
>> ______________________________________________
>> R-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>
>



[Rd] R 2.15.2 make check failure on 32-bit --with-blas="-lgoto2"
Paul Gilbert