gpt4 book ai didi

windows - 无法在 Windows Server 2008 中加载 Rcpp 包

转载 作者:可可西里 更新时间:2023-11-01 10:06:03 32 4
gpt4 key购买 nike

我一直在尝试在 Windows Server 2008 R2 平台上加载最新版本的 Rcpp 包(GIT 版本 XXXX)。当我这样做时,出现以下错误:

> library(Rcpp)
Error : .onLoad failed in load Namespace() for 'Rcpp', details:
call: new_dummyObject(.dummyInstancePointer)
error: object 'class__dummyInstance' not found
In addition: Warning message:
package 'Rcpp' was built under R version 3.0.3
Error: package or namespace load failed for 'Rcpp'

我已经在 GitHub 上与其中一位软件包作者讨论过这个问题我们确定这很可能是本地问题。 (经过更仔细的调查后,该帖子中的问题与我得到的问题并不完全相同)我能够使用 R 版本 3.0.1 和 3.0.3 使用 Windows Server 2003 加载相同的包。为了方便起见,我在这里处理链接帖子的部分内容。我遵循的生成程序包的过程如下:

  1. 从Github下载了最新的master代码(应该是commit 5b510ed)
  2. 解压缩临时目录中的 zip 文件并将“Rcpp-master”重命名为“Rcpp”
  3. 已安装 Rtools 3.1 版
  4. 确保 RTools bin 和相关的 gcc bin 目录位于我的路径的开头
  5. 使用命令“R CMD BUILD Rcpp”生成Rcpp_0.11.1.2.tar.gz文件
  6. 使用命令“R CMD INSTALL --build --compile-both Rcpp_0.11.1.2.tar.gz 生成 Rcpp_0.11.1.2.zip
  7. 将生成的 zip 存档复制到 Windows Server 2008 机器
  8. 使用R native install local包安装Rcpp包

根据包作者的建议,我查看了工作和非工作 R 版本的 .libPaths() 输出。在这两种情况下,输出完全相同:

[1] "\\\\vnxserver/home/MYACCT/My Documents/R/win-library/3.0"
[2] "C:/Program Files/R/R-3.0.2/library"

我真的不知道在调试链中接下来要尝试什么,我希望 SO 社区的一些人能为我指明正确的方向。 (这就是我在这里重新发布的原因)。欢迎任何意见。

虽然我在前面的段落中发布了它,但GitHub上的相关讨论在https://github.com/RcppCore/Rcpp/issues/147可能不太清楚。

最佳答案

在正确调试问题后,从长远来看,问题出在 Windows 上。我们的安全管理员设置了系统权限,因此无法从特定目录加载 dll 文件。在与我们的 IT 人员合作后,我能够获得使用放置在特殊位置的 dll 文件的 R 包,然后使用 .libPaths() 函数将该特殊位置简单地添加到库搜索路径中。为了让最终用户更轻松,我在系统范围的 RProfile.site 文件中放置了适当的代码来处理这个额外的库搜索目录问题。

问题解决了...

顺便说一句,我认为 R 应该通知它在尝试打开库时发生了一些奇怪的事情并且没有任何关联的符号......至少是一个警告......

我已经编辑了这个答案,从我的 Rprofile.site 文件中获取相关的代码片段,以将目录添加到库搜索路径中。该文件位于 c:/program files/R/R-3.0.2/etc

.First = function() {
cat('Adding LocalLibrary to the Library Search Path ... ')
.libPaths(c(.libPaths(), <your library path you want to add>))

if(<your path you want to add> %in% .libPaths()) {
cat('Success\n')
} else {
cat('Failure\n')
cat('You may encounter problems using libraries that depend on dynamically loaded dll files\n')
}
}

关于windows - 无法在 Windows Server 2008 中加载 Rcpp 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23917188/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com