![](/img/trans.png)
[英]install package on windows ERROR: compilation failed for package 'cldr'
[英]build R pacakge for windows -ERROR: compilation failed for package xxx
我無法在Windows上為R構建虛擬測試包。 為了測試目的,在R終端,我輸入:
a=rnorm(10)
package.skeleton("pkgtest")
然后我在這個虛擬包上運行R CMD check pkgtest
並得到錯誤
* using R version 2.12.0 (2010-10-15)
* using platform: i386-pc-mingw32 (32-bit)
* using session charset: ISO8859-1
* checking for file 'pkgtest/DESCRIPTION' ... OK
* checking extension type ... Package
* this is package 'pkgtest' version '1.0'
* checking package dependencies ... OK
* checking if this is a source package ... OK
* checking for executable files ... OK
* checking whether package 'pkgtest' can be installed ... ERROR Installation failed.
編輯 ,完整的日志文件:
* installing *source* package 'pkgtest' ...
** libs
cygwin warning:
MS-DOS style path detected: C:/R/R-212~1.0/etc/i386/Makeconf
Preferred POSIX equivalent is: /cygdrive/c/R/R-212~1.0/etc/i386/Makeconf
CYGWIN environment variable option "nodosfilewarning" turns off this warning.
Consult the user's guide for more details about POSIX paths:
http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
ERROR: compilation failed for package 'pkgtest'
`* removing 'C:/DOCUME~1/xxxx'`
就這些。 我有一個數據a
數據文件夾,所以它不是空。 Rd文件實際上可以通過Rcmd rd2pdf
編譯為pdf,其標題不為空。
我錯過了一些非常基本的錯誤嗎? 我安裝了Rtools2.12。 我甚至有包inline
和Rcpp
並運行示例很好。 為了測試我的[R環境設置,我下載RCPP源碼包,做了R cmd check
上Rcpp
,會開得不錯。
是的,如果您所做的只是上面記錄的步驟,那就很多了。
首先,你是否按照package.skeleton
的輸出要求你這樣做?:
> a=rnorm(10)
> package.skeleton("pkgtest")
Creating directories ...
Creating DESCRIPTION ...
Creating Read-and-delete-me ...
Saving functions and data ...
Making help files ...
Done.
Further steps are described in './pkgtest/Read-and-delete-me'.
特別是最后一行。
你沒有引用完整的CHECK日志,我得到:
$ R CMD check pkgtest
* checking for working pdflatex ... OK
* using log directory '/home/gavin/tmp/pkgtest.Rcheck'
* using R version 2.11.1 Patched (2010-08-17 r52767)
* using session charset: UTF-8
* checking for file 'pkgtest/DESCRIPTION' ... OK
* checking extension type ... Package
* this is package 'pkgtest' version '1.0'
* checking package dependencies ... OK
* checking if this is a source package ... OK
* checking for executable files ... OK
* checking whether package 'pkgtest' can be installed ... ERROR
Installation failed.
See '/home/gavin/tmp/pkgtest.Rcheck/00install.out' for details.
所以你應該去檢查它提到的.out
文件的內容。 我在該文件中有以下內容:
$ cat /home/gavin/tmp/pkgtest.Rcheck/00install.out
* install options are ' --no-html'
* installing *source* package ‘pkgtest’ ...
** R
** data
** preparing package for lazy loading
** help
Warning: ./man/pkgtest-package.Rd:34: All text must be in a section
Warning: ./man/pkgtest-package.Rd:35: All text must be in a section
*** installing help indices
Error in Rd_info(db[[i]]) :
Rd files must have a non-empty \title.
See chapter 'Writing R documentation' in manual 'Writing R Extensions'.
* removing ‘/home/gavin/tmp/pkgtest.Rcheck/pkgtest’
一旦你看到包源,這是相當不言自明的。
你至少需要:
> a=rnorm(10)
> package.skeleton(name = "pkgtest", list = "a")
然后你應該注意,你必須編輯Rd文件。 這是一個設計特性 , prompt()
和package.skeleton()
不會創建有效的Rd文件,以使包作者編寫其包的最低文檔。
您需要查看未顯示的下一行中列出的文件中的錯誤。
當我試圖回溯你的步驟時,我也收到一個錯誤:
/tmp/pkgtest$ r -e 'package.skeleton("pkgtest")'
Creating directories ...
Creating DESCRIPTION ...
Creating Read-and-delete-me ...
Saving functions and data ...
Making help files ...
Done.
Further steps are described in './pkgtest/Read-and-delete-me'.
/tmp/pkgtest$ R CMD INSTALL pkgtest/
* installing to library ‘/usr/local/lib/R/site-library’
* installing *source* package ‘pkgtest’ ...
** data
** help
Warning: /tmp/pkgtest/pkgtest/man/pkgtest-package.Rd:33: \
All text must be in a section
*** installing help indices
Error in Rd_info(db[[i]]) :
Rd files must have a non-empty \title.
See chapter 'Writing R documentation' in manual 'Writing R Extensions'.
* removing ‘/usr/local/lib/R/site-library/pkgtest’
/tmp/pkgtest$
要使package.skeleton()
有意義,您需要為它提供一個或多個函數,數據對象,...您沒有。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.