checkCompilerOptions安装软件包时出错(littler / Docker)

在最后一行, 这个 Docker文件调用Rcpp littler::install.r来安装Rcpp RcppEigenmatrixStats

整个代码在几个月前就像一个魅力一样。 现在,它在最后一步炸弹了。 更确切地说, RcppRcppEigen仍然完美安装,但是在安装matrixStats ,我得到:

 installing to /usr/local/lib/R/site-library/matrixStats/libs ** R ** inst ** byte-compile and prepare package for lazy loading ** help *** installing help indices ** building package indices ** installing vignettes ** testing if installed package can be loaded Error in get(name, envir = asNamespace(pkg), inherits = FALSE) : object 'checkCompilerOptions' not found Calls: ::: -> get Execution halted ERROR: loading failed * removing '/usr/local/lib/R/site-library/matrixStats' The downloaded source packages are in '/tmp/downloaded_packages' Warning message: In install.packages(f, lib, if (isMatchingFile(f)) NULL else repos) : installation of package 'matrixStats' had non-zero exit status 

这是我以前从未遇到过的错误,无法find它来自哪里。 什么可能导致这个问题? 任何信息已经帮了很多。

从我的头顶,我会责怪matrixStats一个变化[但是看下面,它似乎是无可指责的] – 我有点熟悉所有其他运动部件,并没有意识到变化或错误。

有一点是可怕的,但是是尾随的线突破:

 RUN install.r Rcpp RcppEigen matrixStats \ 

你可以尝试没有它。

编辑:为了什么是值得的,我刚刚启动了我们的标准基础层Docker镜像r-base通过

 docker run --rm -ti r-base /bin/bash 

并调用

 install.r Rcpp RcppEigen matrixStats 

执行得很好。

所以如果sonething与其他Docker容器错误,您可能需要将其与作者进行交互,并通过相对于我们的Dockerfile的更改进行工作,他似乎已将其用作基础。

但是,使用R / devel的R-devel,

docker run --rm -ti rocker/r-devel /bin/bash

RD

install.packages("matrixStats")

给出同样的错误。 我猜这是另外一个R-devel的改变,它带走了之前我们认为理所当然的东西,在这种情况下,与compiler包有关。 但是,我还没有解决scheme。 只是(重新)安装或附加compiler没有帮助。

更新

使用R CMD INSTALL --no-byte-compile允许backports为我安装,这是我有麻烦的包。

Interesting Posts