checkCompilerOptions安装软件包时出错(littler / Docker)
在最后一行, 这个 Docker文件调用Rcpp
littler::install.r
来安装Rcpp
RcppEigen
和matrixStats
。
整个代码在几个月前就像一个魅力一样。 现在,它在最后一步炸弹了。 更确切地说, Rcpp
和RcppEigen
仍然完美安装,但是在安装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
为我安装,这是我有麻烦的包。