[R] Compilation problems with R4.4.0

Simon Andrews @|mon@@ndrew@ @end|ng |rom b@br@h@m@@c@uk
Wed May 8 12:17:41 CEST 2024


I'm having a strange problem compiling R4.4.0 on an AlmaLinux9 box.  I've compiled previous versions OK on the same hardware/software (last was R4.3.2) but 4.4.0 is repeatedly failing.

Configuration works OK.

./configure --prefix=/bi/apps/R/4.4.0 --enable-R-shlib

R is now configured for x86_64-pc-linux-gnu

  Source directory:            .
  Installation directory:      /bi/apps/R/4.4.0

  C compiler:                  gcc  -g -O2
  Fortran fixed-form compiler: gfortran  -g -O2

  Default C++ compiler:        g++ -std=gnu++17  -g -O2
  C++11 compiler:              g++ -std=gnu++11  -g -O2
  C++14 compiler:              g++ -std=gnu++14  -g -O2
  C++17 compiler:              g++ -std=gnu++17  -g -O2
  C++20 compiler:              g++ -std=gnu++20  -g -O2
  C++23 compiler:              g++ -std=gnu++23  -g -O2
  Fortran free-form compiler:  gfortran  -g -O2
  Obj-C compiler:

  Interfaces supported:        X11
  External libraries:          pcre2, readline, LAPACK(generic), curl
  Additional capabilities:     PNG, JPEG, TIFF, NLS, cairo, ICU
  Options enabled:             shared R library, shared BLAS, R profiling

  Capabilities skipped:
  Options not enabled:         memory profiling

  Recommended packages:        yes

configure: WARNING: neither inconsolata.sty nor zi4.sty found: PDF vignettes and package manuals will not be rendered optimally
configure: WARNING: I could not determine a browser
configure: WARNING: I could not determine a PDF viewer

..but after running make it gets though most of it then dies with:

make[4]: Entering directory '/bi/apps/R/R-4.4.0/src/library/grDevices'
byte-compiling package 'grDevices'

*** caught segfault ***
address 0x18017a8110, cause 'memory not mapped'

Traceback:
1: solve.default(rgb)
2: solve(rgb)
3: drop(whitexyz %*% solve(rgb))
4: make.rgb(red = c(0.625, 0.34), green = c(0.28, 0.595), blue = c(0.155,     0.07), gamma = 1.8, white = "D65", name = "Apple RGB")
5: eval(exprs[i], envir)
6: eval(exprs[i], envir)
7: sys.source(codeFile, env, keep.source = keep.source, keep.parse.data = keep.parse.data)
8: doTryCatch(return(expr), name, parentenv, handler)
9: tryCatchOne(expr, names, parentenv, handlers[[1L]])
10: tryCatchList(expr, classes, parentenv, handlers)
11: tryCatch(expr, error = function(e) {    call <- conditionCall(e)    if (!is.null(call)) {        if (identical(call[[1L]], quote(doTryCatch)))             call <- sys.call(-4L)        dcall <- deparse(call, nlines = 1L)        prefix <- paste("Error in", dcall, ": ")        LONG <- 75L        sm <- strsplit(conditionMessage(e), "\n")[[1L]]        w <- 14L + nchar(dcall, type = "w") + nchar(sm[1L], type = "w")        if (is.na(w))             w <- 14L + nchar(dcall, type = "b") + nchar(sm[1L],                 type = "b")        if (w > LONG)             prefix <- paste0(prefix, "\n  ")    }    else prefix <- "Error : "    msg <- paste0(prefix, conditionMessage(e), "\n")    .Internal(seterrmessage(msg[1L]))    if (!silent && isTRUE(getOption("show.error.messages"))) {        cat(msg, file = outFile)        .Internal(printDeferredWarnings())    }    invisible(structure(msg, class = "try-error", condition = e))})
12: try(sys.source(codeFile, env, keep.source = keep.source, keep.parse.data = keep.parse.data))
13: loadNamespace(package = package, lib.loc = lib.loc, keep.source = keep.source,     keep.parse.data = keep.parse.data, partial = TRUE)
14: withCallingHandlers(expr, packageStartupMessage = function(c) tryInvokeRestart("muffleMessage"))
15: suppressPackageStartupMessages(loadNamespace(package = package,     lib.loc = lib.loc, keep.source = keep.source, keep.parse.data = keep.parse.data,     partial = TRUE))
16: code2LazyLoadDB(package, lib.loc = lib.loc, keep.source = keep.source,     keep.parse.data = keep.parse.data, compress = compress, set.install.dir = set.install.dir)
17: tools:::makeLazyLoading("grDevices")
An irrecoverable exception occurred. R is aborting now ...
make[4]: *** [../../../share/make/lazycomp.mk:9: ../../../library/grDevices/R/grDevices.rdb] Error 139

I can reproduce the error directly by running make in /bi/apps/R/R-4.4.0/src/library/grDevices.  Nothing strange is in my environment, I'm using the stock version of make and gcc

$ which make
/usr/bin/make
$ which gcc
/usr/bin/gcc

$ make --version
GNU Make 4.3
Built for x86_64-redhat-linux-gnu

$ gcc --version
gcc (GCC) 11.4.1 20230605 (Red Hat 11.4.1-2)


I can't find any other instances of others hitting the same problem.

Any suggestions for what this could be?

Thanks

Simon.




	[[alternative HTML version deleted]]



More information about the R-help mailing list