Berwin A Turlach
2017-Aug-03 07:27 UTC
[Rd] Problem compiling R patched and R devel on Ubuntu
G'day all, since about a week my daily re-compilations of R patched and R devel are falling over, i.e. they stop with an error during "make check" (while building the 32 bit architecture) on my Ubuntu 16.04.3 LTS machine. Specifically, a test in graphics-Ex.R seems to fail and the last lines of graphics-ex.Rout.fail are: > ## Extreme outliers; the "FD" rule would take very large number of 'breaks': > XXL <- c(1:9, c(-1,1)*1e300) > hh <- hist(XXL, "FD") # did not work in R <= 3.4.1; now gives warning Warning in hist.default(XXL, "FD") : 'breaks = 4.44796e+299' is too large and set to 1e9 Error in pretty.default(range(x), n = breaks, min.n = 1) : cannot allocate vector of length 1000000001 Calls: hist -> hist.default -> pretty -> pretty.default Execution halted My R 3.4.1 installation, the last R patched version that I could compile (R version 3.4.1 Patched (2017-07-26 r72974)) and the last R devel version that I could compile (R Under development (unstable) (2017-07-26 r72974)) give the following results (under the 32bit architecture and the 64bit architecture): > XXL <- c(1:9, c(-1,1)*1e300) > hh <- hist(XXL, "FD") Error in pretty.default(range(x), n = breaks, min.n = 1) : invalid 'n' argument In addition: Warning message: In pretty.default(range(x), n = breaks, min.n = 1) : NAs introduced by coercion to integer range Not sure if this is a general problem, or only a problem on my machine. Cheers, Berwin
Martin Maechler
2017-Aug-03 07:57 UTC
[Rd] Problem compiling R patched and R devel on Ubuntu
>>>>> Berwin A Turlach <berwin.turlach at gmail.com> >>>>> on Thu, 3 Aug 2017 15:27:56 +0800 writes:> G'day all, > since about a week my daily re-compilations of R patched and R devel > are falling over, i.e. they stop with an error during "make > check" (while building the 32 bit architecture) on my Ubuntu 16.04.3 > LTS machine. Dear Berwin, thanks a lot for the report! > Specifically, a test in graphics-Ex.R seems to fail and > the last lines of graphics-ex.Rout.fail are: >> ## Extreme outliers; the "FD" rule would take very large number of > 'breaks': >> XXL <- c(1:9, c(-1,1)*1e300) >> hh <- hist(XXL, "FD") # did not work in R <= 3.4.1; now gives > warning > Warning in hist.default(XXL, "FD") : > 'breaks = 4.44796e+299' is too large and set to 1e9 > Error in pretty.default(range(x), n = breaks, min.n = 1) : > cannot allocate vector of length 1000000001 > Calls: hist -> hist.default -> pretty -> pretty.default > Execution halted > My R 3.4.1 installation, the last R patched version that I could > compile (R version 3.4.1 Patched (2017-07-26 r72974)) and the last R > devel version that I could compile (R Under development (unstable) > (2017-07-26 r72974)) ((well, well ... you could also compile later versions. It was "only" 'make check' that failed ..)) > give the following results (under the 32bit architecture > and the 64bit architecture): >> XXL <- c(1:9, c(-1,1)*1e300) >> hh <- hist(XXL, "FD") > Error in pretty.default(range(x), n = breaks, min.n = 1) : > invalid 'n' argument > In addition: Warning message: > In pretty.default(range(x), n = breaks, min.n = 1) : > NAs introduced by coercion to integer range [yes, that was the bug; see below] > Not sure if this is a general problem, or only a problem on my machine. It is not a problem on 64-bit I think. This is related to the bug and bugfix for PR#17274 ( https://bugs.r-project.org/bugzilla/show_bug.cgi?id=17274 ) which I had handled. Now I see the above, I can well imagine that I had made assumptions that only worked on my (64-bit) platform. I'll have a look and will amend the bug fix to also work on "smaller" platforms - hopefully today. Martin