2

在最后一行,这个Docker 文件调用littler::install.rinstallRcpp RcppEigenmatrixStats.

几个月前,整个代码就像一个魅力一样工作。现在,它在最后一步爆炸。更准确地说,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

这是我以前从未遇到过的错误,甚至无法找到它的来源。什么可能导致这个问题?任何信息都会有很大帮助。

4

2 回答 2

4

然而,使用 Rocker/r-devel 的 R-devel,

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

RD

install.packages("matrixStats")

给出同样的错误。我猜这是另一个 R-devel 更改,它消除了我们之前认为理所当然的东西,在这种情况下与compilerpackage.json 相关。但是,我还没有解决方案。只是(重新)安装或附加compiler没有帮助。

更新

使用R CMD INSTALL --no-byte-compile允许backports为我安装,这是我遇到问题的包。

于 2016-03-26T18:12:02.030 回答
3

从我的头顶上,我会责怪matrixStats[但见下文,它似乎无可指责]——我对所有其他移动部件有点熟悉,不知道变化或错误。

一件很可疑的事情是尾随换行符:

RUN install.r Rcpp RcppEigen  matrixStats \

您可以尝试不使用它。

编辑:为了它的价值,我刚刚启动了我们的标准基础层 Docker 镜像r-base

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

并调用

install.r Rcpp RcppEigen matrixStats

执行得很好。

因此,如果其他 Docker 容器出现问题,您可能必须向其作者提出问题,并通过他相对于我们的 Dockerfile 的更改进行工作,他似乎已将其用作基础。

于 2016-01-30T18:22:13.283 回答