2013-01-08 154 views
3

我正在运行ubuntu,64位。我有这个最小的测试包 ,我作出了学习如何做这些事情(我遵循此tutorial,除了我也有一些C代码在包中)。当我跑R包的windows安装

R CMD check MySmallPackage 

就可以了,它工作正常(见下文)。然后, 我跑

R CMD build MySmallPackage 

它也可以工作(见下文)。所以,现在,我送 产生的.tar.gz下载到运行WIN7 64位 (和64位R)的朋友,他得到这个错误信息:

*** arch - i386 
ERROR: compilation failed for package 'MySmallPackage' 
* removing 'C:/Users/ES/Documents/R/win-library/2.15/MySmallPackage' 
Warning in install.packages : 
    running command 'C:/PROGRA~1/R/R-215~1.1/bin/x64/R CMD INSTALL -l "C:/Users/ES/Documents/R/win-library/2.15" "C:/Users/ES/Downloads/MySmallPackage_0.1.1(1).tar.gz"' had status 1 
Warning in install.packages : 
    installation of package ‘C:/Users/ES/Downloads/MySmallPackage_0.1.1(1).tar.gz’ had non-zero exit status 

这是非常令人费解。任何人都可以指出什么可能会导致这个问题(我多年没有使用Windows,但该软件包安装在Linux上很好)。该错误消息对我来说有点神秘。

$ R CMD check MySmallPackage 
* using log directory ‘~/MySmallPackage.Rcheck’ 
* using R version 2.15.2 (2012-10-26) 
* using platform: x86_64-pc-linux-gnu (64-bit) 
* using session charset: UTF-8 
* checking for file ‘MySmallPackage/DESCRIPTION’ ... OK 
* checking extension type ... Package 
* this is package ‘MySmallPackage’ version ‘0.1.1’ 
* checking package namespace information ... OK 
* checking package dependencies ... OK 
* checking if this is a source package ... OK 
* checking if there is a namespace ... OK 
* checking for executable files ... OK 
* checking whether package ‘MySmallPackage’ can be installed ... OK 
* checking installed package size ... OK 
* checking package directory ... OK 
* checking for portable file names ... OK 
* checking for sufficient/correct file permissions ... OK 
* checking DESCRIPTION meta-information ... OK 
* checking top-level files ... OK 
* checking for left-over files ... OK 
* checking index information ... OK 
* checking package subdirectories ... OK 
* checking R files for non-ASCII characters ... OK 
* checking R files for syntax errors ... OK 
* checking whether the package can be loaded ... OK 
* checking whether the package can be loaded with stated dependencies ... OK 
* checking whether the package can be unloaded cleanly ... OK 
* checking whether the namespace can be loaded with stated dependencies ... OK 
* checking whether the namespace can be unloaded cleanly ... OK 
* checking loading without being on the library search path ... OK 
* checking for unstated dependencies in R code ... OK 
* checking S3 generic/method consistency ... OK 
* checking replacement functions ... OK 
* checking foreign function calls ... OK 
* checking R code for possible problems ... OK 
* checking Rd files ... OK 
* checking Rd metadata ... OK 
* checking Rd cross-references ... OK 
* checking for missing documentation entries ... OK 
* checking for code/documentation mismatches ... OK 
* checking Rd \usage sections ... OK 
* checking Rd contents ... OK 
* checking for unstated dependencies in examples ... OK 
* checking line endings in C/C++/Fortran sources/headers ... OK 
* checking line endings in Makefiles ... OK 
* checking for portable compilation flags in Makevars ... OK 
* checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS) ... OK 
* checking compiled code ... OK 
* checking examples ... OK 
* checking PDF version of manual ... OK 


$R CMD build MySmallPackage 
* checking for file ‘MySmallPackage/DESCRIPTION’ ... OK 
* preparing ‘MySmallPackage’: 
* checking DESCRIPTION meta-information ... OK 
* cleaning src 
* checking for LF line-endings in source and make files 
* checking for empty or unneeded directories 
* building ‘MySmallPackage_0.1.1.tar.gz’ 

回答

5

您需要为Linux,Mac和Windows机器构建不同的软件包。

有一个(至少)四种可能性:

  1. 主机你的包上r-forge。每晚r-forge都会构建一个linux,windows和mac版本的软件包。
  2. 使用由Uwe Ligges维护的在线窗口package builder
  3. 发送给你的朋友的源代码,并让他在Windows机器上构建包。当我搜索“构建软件包窗口”时,我得到了一些有用的点击。
  4. 将您的软件包置于github上,然后使用devtools软件包安装软件包。
+0

谢谢。 “2”。工作并制作了一个可用的.zip文件。但速度非常慢!我认为这需要一个新的问题。 – user189035

+1

但是4)没有帮助建设,你仍然需要Rtools。 –

+0

@DirkEddelbuettel确实如此,但是如果您安装了Rtools,则应该可以(以非Windows用户身份发言)。 – csgillespie