r-建议`paralleal'的软件包在Windows中失败



我正在开发一个建议 r的并行软件包(所以我的描述具有Suggests: parallel (>= 1.13.1)语句。Linux,但在Windows上构建时(使用Win-Builder)失败。这是install.log win-Builder吐出的log:

*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
*** arch - i386
Error: package or namespace load failed for 'spectrolab' in 
library.dynam(lib, package, package.lib):
DLL 'parallel' not found: maybe not installed for this architecture?
Error: loading failed
Execution halted
*** arch - x64
ERROR: loading failed for 'i386'
* removing 'd:/RCompile/CRANguest/R-devel/lib/spectrolab'

在这里找到Win-Builder的完整输出

只有一个函数试图使用并行。它或多或少像这样:

#' Smooth spline functions for spectra
#' ... roxygen stuff ...
#' @importFrom stats smooth.spline
#' @importFrom parallel detectCores mclapply
smooth.spectra = function(x, ...){
  p = requireNamespace("parallel", quietly = TRUE) && .Platform$OS.type != "windows"
  if(p){
     r = parallel::mclapply(x, stats::smooth.spline)
  } else {
     r = lapply(x, stats::smooth.spline)
  }
  r
}

关于问题是什么的想法?

这很可能是胜利者打ic。我最近刚刚在Cran Windows测试(与Win-Builder相同的设置)上观察到了同样的观察:

https://www.r-project.org/nosvn/r.check/r-devel-windows-ix86 x86_64/dofuture-00install.html

除非赢家维护者(Uwe Ligges)自己拿到它,否则您可以给他发送电子邮件。

问题可以是该软件包使用mclapply

r = parallel::mclapply(x, stats::smooth.spline)

mcapply仅在doMC

下工作

DOMC软件包充当foreach和并行软件包的多项功能之间的接口,最初由Simon Urbanek编写,并将其纳入R2.14.0的并行中。当前的多项功能仅适用于支持叉系统调用的操作系统(这意味着不支持Windows)

mclapplyparallel宇宙下,但是

多巴平行软件包是Dosnow和Domc的合并,同样是雪和多核的合并。

相关内容

  • 没有找到相关文章

最新更新