2014-04-23 4 views
7

W ramach mojego projektu doktora całkowicie przeprojektowałem wczesny szkic mojego pakietu R quantspec. Po przesłaniu pliku tar.gz, który uzyskałem za pośrednictwem BUILD, który przeszedł CHECK na moim komputerze z Windows 7, używając webform, otrzymałem wiadomość e-mail, że jeden z przykładów w moim pakiecie spowodował błąd.Jak odtwarzać BŁĄD widoczny u opiekuna CRAN/jak dodać .R/Makevars

Przetestowałem paczkę instalując go poprzez

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

na różnych komputerach (> 5), który korzysta z systemu Windows, Linux i MacOS jak systemy operacyjne, ale nie był w stanie odtworzyć błąd zgłaszane.

EDIT: Wydaje mi się, że brakuje mi jakiegoś ważnego kroku podczas budowania i sprawdzania pakietu. W rozdziale 4.3.6 pisania R Extensions mówi, że powinienem add to ~/.R/Makevars coś (dla gfortran)

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

Jak mam to zrobić?

+1

Czy twój pakiet znajduje się na GitHub? Jeśli tak, [połącz je z Travis-CI] (https://github.com/craigcitro/r-travis), aby wykonać kompilację i sprawdzenie. Powinieneś być w stanie bawić się z ustawieniami tam, aby odtworzyć wszelkie błędy. – Thomas

+0

Dzięki! Tak, mój pakiet jest dostępny na [GitHub] (https://github.com/tobiaskley/quantspec). Twój komentarz był bardzo pomocny! Połączyłem repo, zgodnie z sugestią. Kompilacja działa. Do tej pory nie widziałem błędów, które zgłosił opiekun CRAN. Muszę przeczytać więcej o tym, jak skonfigurować .travis.yml. Czy sugestie działają tak, jak sprawdzanie CRAN? – tobias

+1

Jeśli to naprawdę tylko przykład rzucania błędu, możesz po prostu usunąć lub zastąpić ten przykład :-). Chciałbym również skontaktować się z opiekunem CRAN z informacjami, które dostarczyłeś tutaj, tj. Że zdałeś test CHECK - as-cran (i prawdopodobnie twój przykładowy kod działał bez problemów). –

Odpowiedz

1

W końcu udało mi się odtworzyć błąd.

Z jakiegoś powodu na wszystkich systemach (> 5) użyłem do przetestowania mojego pakietu, sprawdzanie granic tablicy było wyłączone. Może być włączony przez options(CBoundsCheck = TRUE) lub przez zmienną środowiskową R_C_BOUNDS_CHECK=yes.