Reputation: 5789
I'm running ubuntu, 64bit. I have this minimal test package that i made to learn how to do these things (I'm following this tutorial, except i also have some c code in the package). When i run
R CMD check MySmallPackage
on it, it works fine (see below). Then, I run
R CMD build MySmallPackage
and it works too (see below). So now, i send the resulting .tar.gz to a friend running win7 64 bit (and 64 bit R), and he gets this error message:
*** 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
It's very puzzling. Can anybody point me to what might be causing this problem (i have not used windows in many years but the package installs fine on linux). The error message is a bit cryptic to me.
$ 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’
Upvotes: 4
Views: 1459
Reputation: 60452
You need to build a different package for Linux, Mac and Windows machines.
There a (at least) four possibilities:
Upvotes: 5