2010-12-01 15 views
5

Tengo problemas para compilar un paquete de prueba ficticio para R en Windows. para el propósito de prueba, en el terminal R, I Entrada:compilación R pacakge para windows -ERROR: error de compilación para el paquete xxx

a=rnorm(10) 
package.skeleton("pkgtest") 

entonces corro R CMD check pkgtest en este paquete vacío y ha obtenido un error como

* 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. 

EDITAR, El archivo de registro completo:

* 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'` 

Eso es todo. Tengo un dato a en la carpeta de datos, por lo que no está vacío. El archivo Rd realmente puede compilar en pdf por Rcmd rd2pdf, su título no está vacío.

¿me falta algo básico para este error? Tengo instalado Rtools2.12. Incluso tengo el paquete inline y Rcpp ejemplos bien conectados y en ejecución. Para probar la configuración de mi entorno R, descargué el paquete fuente Rcpp e hice un R cmd check en Rcpp, todo salió bien.

+0

Do R Core soporte de compilación en cygwin? Pensé que R para Windows requería mingw? –

+0

No veo por qué alguien votó esta pregunta a -1. Así que lo devolví a 0. Es una pregunta válida e incluye código de muestra, detalles, etc. – Choens

Respuesta

3

Sí, mucho si todo lo que hizo fueron los pasos documentados anteriormente.

En primer lugar, ¿lo hace como la salida de package.skeleton le pide que ?:

> 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'. 

En particular, la última línea.

no cita el registro de comprobación completa, me sale:

$ 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. 

por lo que debe ir y comprobar el contenido del archivo .out menciona. Tengo el siguiente en ese archivo:

$ 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’ 

que es bastante explica por sí mismo, una vez que nos fijamos en el origen del paquete.

Usted necesita al menos:

> a=rnorm(10) 
> package.skeleton(name = "pkgtest", list = "a") 

Y a continuación, debe tener en cuenta que usted tiene que editar los archivos Rd. Es una característica del diseño que prompt() y package.skeleton() no crean archivos Rd válidos para que los autores del paquete escriban la documentación mínima para sus paquetes.

+0

tenemos un archivo de registro diferente: – learnrpackage

+0

@learnrpackage: puede deberse a diferencias entre Windows vs Linux. Debería haber dicho que estaba en Linux. –

+0

Gracias Gavin, el archivo Rd parece ser el motivo. La 'lista = 'a'' parece opcional, ya que' package.skeleton' predetermina' list' a todos los objetos en el entorno actual. – learnrpackage

1

Necesita ver los errores en el archivo enumerado en la siguiente línea que no mostró.

Cuando trato de volver sobre sus pasos, también me da un error:

/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$ 

Para package.skeleton() para que tenga sentido, es necesario darle una o más funciones, objetos de datos, lo que usted hizo ... no.

+0

Gracias Dirk. No tenía el mensaje de registro Rd_info, pero parece ser el motivo. – learnrpackage

Cuestiones relacionadas