【问题标题】:Using old packages that has not been updated on newer version of R使用未在较新版本的 R 上更新的旧软件包
【发布时间】:2015-03-13 22:48:33
【问题描述】:

我更新了 R,但当我想运行旧脚本时遇到问题。具体来说,我使用的其中一个软件包已从 CRAN 中删除,当我尝试加载已安装的软件包时收到以下错误消息(从软件包最新版本的二进制文件安装没有任何问题。如您所见,有问题的包是ACER包):

Failed with error:  ‘package ‘acer’ was built before R 3.0.0: please re-install it’

是否可以重新编译源文件以获得在 R > 3.0.0 上工作的二进制文件?该软件包在以前的版本 R 3.0.1 上运行良好,但在 R 3.1.1 上运行良好。有什么办法可以在 R 3.1.1 上正确加载这个包(使用源文件或为 R 3.0.1 编译的文件?

我已经尝试从源代码安装,但它不起作用。我收到此错误消息,这对我来说没有太大意义。有没有简单的方法解决这个问题?

> install.packages(pkgs="acer_0.1.2.tar.gz", type="source", repos=NULL)

Installing package into ‘C:/Users/user/Documents/R/win-library/3.1’
(as ‘lib’ is unspecified)
* installing *source* package 'acer' ...
** package 'acer' successfully unpacked and MD5 sums checked
** libs

*** arch - i386
Warning: running command 'make -f "Makevars.win" -f "C:/PROGRA~1/R/R-31~1.1/etc/i386/Makeconf" -f "C:/PROGRA~1/R/R-31~1.1/share/make/winshlib.mk" SHLIB_LDFLAGS='$(SHLIB_CXXLDFLAGS)' SHLIB_LD='$(SHLIB_CXXLD)' SHLIB="acer.dll" OBJECTS="estimate_acer.o peaks.o"' had status 127
ERROR: compilation failed for package 'acer'
* removing 'C:/Users/user/Documents/R/win-library/3.1/acer'
* restoring previous 'C:/Users/user/Documents/R/win-library/3.1/acer'
Warning messages:
1: running command '"C:/PROGRA~1/R/R-31~1.1/bin/x64/R" CMD INSTALL -l "C:\Users\user\Documents\R\win-library\3.1" "acer_0.1.2.tar.gz"' had status 1 
2: In install.packages(pkgs = "acer_0.1.2.tar.gz", type = "source",  :
  installation of package ‘acer_0.1.2.tar.gz’ had non-zero exit status

我也尝试从命令行安装它,但得到了类似的错误。有人可以帮忙吗?

【问题讨论】:

  • the CRAN archive获取软件包并从源代码安装。
  • 从源代码安装包。由于problems with its vignette,它似乎已从 CRAN 中删除。所以,希望没有其他更严重的问题。
  • 也可以从 url 获取源 pkg,例如 install.packages("http://cran.r-project.org/src/contrib/Archive/acer/acer_0.1.2.tar.gz", repos = NULL, type = "source")
  • 我放弃在较新版本的 R 上安装它,因此我在另一台 (Windows) 机器上安装了以前的版本,即 R 的 3.0.1。尽管如此,我在尝试安装此软件包时仍遇到一些错误。现在我得到退出状态 1。任何人都可以帮助我吗? (我在使用另一个软件包时遇到了同样的错误 - 两者都已成功安装在我的旧笔记本电脑上的相同版本的 R 上)。这是我得到的错误:
  • * 安装 source 包 'acer' ... ** 包 'acer' 成功解压并检查 MD5 和 ** 库错误:包 'acer' 编译失败 *删除 'C:/Users/erva/Documents/R/R-3.0.1/library/acer' 警告消息:1:运行命令 '"C:/Users/erva/Documents/R/R-3.0.1/bin /x64/R" CMD INSTALL -l "C:\Users\erva\Documents\R\R-3.0.1\library" "acer_0.1.2.tar.gz"' 有状态 1 2: 在 install.packages(" acer_0.1.2.tar.gz", repos = NULL, type = "source") : 安装包 'acer_0.1.2.tar.gz' 的退出状态非零

标签: r package versions


【解决方案1】:

您是否安装了 Rcpp 并在您的路径上?

我认为 make 上的错误代码 127 意味着在您的 $PATH 中找不到该程序,并且 acer 的唯一依赖项似乎是 Rcpp。

希望这会有所帮助 -A

【讨论】:

  • 感谢您的建议。我安装了 Rcpp,不幸的是它没有帮助。我得到完全相同的错误消息。我有什么其他想法可以安装 ACER 包吗?
  • 所以根据this question on stackoverflow,127表示makefile中的某些命令不理解,或者没有+x权限。也许检查三个makefile“Makevars.win”、“C:/PROGRA~1/R/R-31~1.1/etc/i386/Makeconf”和“C:/PROGRA~1/R/R-31~1.1/ share/make/winshlib.mk" 用于调用您尚未安装的工具的行?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-03
  • 2020-08-08
  • 1970-01-01
  • 2012-07-29
  • 1970-01-01
相关资源
最近更新 更多