2014-04-23 8 views
7

Come parte del mio progetto di dottorato di ricerca ho completamente ridisegnato una bozza iniziale del mio pacchetto R quantspec. Dopo aver caricato il file tar.gz ottenuto tramite BUILD, che ha superato CHECK sul mio computer Windows 7, utilizzando lo webform, ho ricevuto un'email che uno degli esempi nel mio pacchetto ha generato un ERRORE.Come riprodurre ERRORE visto dal mantenitore CRAN/come aggiungere .R/Makevars

Ho testato il mio pacchetto installandolo tramite

devtools::install_github("tobiaskley/quantspec", ref="develop") 

su computer diversi (> 5) che utilizzano Windows, Linux e MacOS come i sistemi operativi, ma non era in grado di riprodurre l'errore segnalato.

EDIT: Mi sembra che manchi un passaggio importante durante la creazione e il controllo del pacchetto. Nella sezione 4.3.6 della scrittura R estensioni si dice che dovrei add to ~/.R/Makevars qualcosa di simile (per gfortran)

FCFLAGS = -g -O2 -mtune=native -fbounds-check 
FFLAGS = -g -O2 -mtune=native -fbounds-check 

Come posso fare?

+1

Il tuo pacchetto su GitHub? Se è così, [collegalo a Travis-CI] (https://github.com/craigcitro/r-travis) per fare la compilazione e controllare. Dovresti essere in grado di giocare con le impostazioni lì per riprodurre eventuali errori. – Thomas

+0

Grazie! Sì, il mio pacchetto è disponibile su [GitHub] (https://github.com/tobiaskley/quantspec). Il tuo commento è stato molto utile! Ho collegato il repository come hai suggerito. La build è in esecuzione. Finora non ho visto gli errori segnalati dal manutentore del CRAN. Devo leggere di più su come configurare .travis.yml. Sono suggerimenti per farlo funzionare come il controllo CRAN? – tobias

+1

Se si tratta solo di un esempio di errore, è possibile rimuovere o sostituire quell'esempio :-). Vorrei anche contattare il manutentore di CRAN con le informazioni fornite qui, cioè che hai superato il test CHECK - as-cran (e presumibilmente che il tuo codice di esempio funzionasse senza problemi). –

risposta

1

Sono finalmente riuscito a riprodurre l'errore.

Per qualche motivo, su tutti i sistemi (> 5) che ho usato per testare il mio pacchetto, il controllo dei limiti dell'array è stato disattivato. Può essere attivato da options(CBoundsCheck = TRUE) o tramite una variabile di ambiente R_C_BOUNDS_CHECK=yes.

Problemi correlati