Dear R-help, I am trying to build R-2.2.0-patched (2005-11-07 r36217) on the head node of a Scyld cluster (dual Opteron 250s) using PGI compilers (v6.0). I used the flags suggested by Jennifer Lai on R-devel (taken from R-admin, except that I had to add -L/usr/X11R6/lib64 to LDFLAGS). The build went fine, but make check-all failed when running tests/Examples/graphics-Ex.R, at:> plot(1:2, xaxs = "i") # 'inner-axis' w/o extra space > stopifnot(par("xaxp")[1:2] == 1:2 &&+ par("usr")[1:2] == 1:2) Error: par("xaxp")]1:2] == 1:2 && par("usr")[1:2] == 1:2 is not TRUE The above looks a bit strange to me, as running the R built as above, par("xaxp")[1:2] - 1:2 gives [1] -1.110223e-16 -2.220446e-16 Is my R build faulty? I'd very much appreciate any advise. Best, Andy
Peter Dalgaard
2005-Nov-10 22:11 UTC
[R] make check failed on linux-amd64 using PGI compilers
"Liaw, Andy" <andy_liaw at merck.com> writes:> Dear R-help, > > I am trying to build R-2.2.0-patched (2005-11-07 r36217) on the head node of > a Scyld cluster (dual Opteron 250s) using PGI compilers (v6.0). I used the > flags suggested by Jennifer Lai on R-devel (taken from R-admin, except that > I had to add -L/usr/X11R6/lib64 to LDFLAGS). The build went fine, but make > check-all failed when running tests/Examples/graphics-Ex.R, at: > > > plot(1:2, xaxs = "i") # 'inner-axis' w/o extra space > > stopifnot(par("xaxp")[1:2] == 1:2 && > + par("usr")[1:2] == 1:2) > Error: par("xaxp")]1:2] == 1:2 && par("usr")[1:2] == 1:2 is not TRUE > > The above looks a bit strange to me, as running the R built as above, > par("xaxp")[1:2] - 1:2 gives > > [1] -1.110223e-16 -2.220446e-16 > > Is my R build faulty? I'd very much appreciate any advise.Relative errors of 1 ULP would not ruin my sleep. It's not obvious to me which is the floating point operation responsible for the effect, though, and it is a bit suspicious given that it should just be the x-range of the data. -- O__ ---- Peter Dalgaard ??ster Farimagsgade 5, Entr.B c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
> From: pd at pubhealth.ku.dk > > "Liaw, Andy" <andy_liaw at merck.com> writes: > > > Dear R-help, > > > > I am trying to build R-2.2.0-patched (2005-11-07 r36217) on > the head node of > > a Scyld cluster (dual Opteron 250s) using PGI compilers > (v6.0). I used the > > flags suggested by Jennifer Lai on R-devel (taken from > R-admin, except that > > I had to add -L/usr/X11R6/lib64 to LDFLAGS). The build > went fine, but make > > check-all failed when running tests/Examples/graphics-Ex.R, at: > > > > > plot(1:2, xaxs = "i") # 'inner-axis' w/o extra space > > > stopifnot(par("xaxp")[1:2] == 1:2 && > > + par("usr")[1:2] == 1:2) > > Error: par("xaxp")]1:2] == 1:2 && par("usr")[1:2] == 1:2 is not TRUE > > > > The above looks a bit strange to me, as running the R built > as above, > > par("xaxp")[1:2] - 1:2 gives > > > > [1] -1.110223e-16 -2.220446e-16 > > > > Is my R build faulty? I'd very much appreciate any advise. > > Relative errors of 1 ULP would not ruin my sleep. It's not obvious to > me which is the floating point operation responsible for the effect, > though, and it is a bit suspicious given that it should just be the > x-range of the data.It's the par() output that has storage mode "double", as that stores the coordinates. 1:2 has storage mode "integer". Those comparisons looked a bit suspicious to me. Isn't it recommended time and again on this list not to test for exact equality of numerics? all.equal() of the above does return TRUE. Andy> -- > O__ ---- Peter Dalgaard ??ster Farimagsgade 5, Entr.B > c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K > (*) \(*) -- University of Copenhagen Denmark Ph: > (+45) 35327918 > ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: > (+45) 35327907 > >