Jestem całkiem nowy dla R, więc przepraszam za głupie pytanie. Próbuję uruchomić program rcpp, ale utknąłem w nieskończonej pętli R, prosząc mnie o ponowną instalację programów RTools.Błąd podczas instalacji i uruchamiania rcpp
Poszerzyłem kod w this blog post, chociaż po raz pierwszy zainstalowałem wszystko ręcznie & Później ponownie wszystko instalowałem kilka razy. Używam Windows 7, R wersji 3.1.2, R Studio wersji 0.98.1091 (nie to ma znaczenie) i RTools 3.1.
edytowany kulminacyjnym co moja konsola wygląda to następująco:
> library(installr)
Welcome to installr version 0.15.3...
> install.Rtools()
Loading required package: devtools
No need to install Rtools - You've got the relevant version of Rtools installed
> find_rtools()
[1] TRUE
> library(Rcpp)
> evalCpp("1+1")
Error in sourceCpp(code = code, env = env, rebuild = rebuild, showOutput = showOutput, :
Error 65535 occurred building shared library.
W tym momencie okno dialogowe wyskakuje mówiąc:
Install Build Tools Compiling C/C++ code for R requires installation of additional build tools. Do you want to install the additional tools now?
I wtedy przekierowanie do pobrania i re - ponownie zainstaluj RTools 3.1 z powrotem.
Widziałem, że może to być problem ze zmienną PATH ale próbowałem różnych rzeczy, w tym:
- Nothing (extra) w zmiennej PATH
- tym zarówno odniesienia do R (C: \ Program Files \ R \ R-3.1.2 \ bin \ x64) i RTools (C: \ RBuildTools \ 3.1 \ bin; C: \ RBuildTools \ 3.1 \ gcc-4.6.3 \ bin;) w PATH. Raz z RTools najpierw, raz z R najpierw
- W tym tylko odniesienie do RTools w PATH, jak polecił mi to początkowy plik instalacyjny.
Wszelkie pomysły na rzeczy do wypróbowania byłby przyjęty z wdzięcznością!
EDIT
następujący komentarz Dirka wygląda jak mogę mieć problem z jak RTools jest zainstalowany. Postępowałem zgodnie z instrukcjami z kilku blogów/tutoriali na temat instalacji programów RTools; wszystko bez skutku (jeszcze!)
This GitHub page podaje instrukcje, jak zainstalować i sprawdzić, czy instalacja zadziałała. Podążyłem za wszystkimi kontrolami (patrz poniżej na kopię konsoli) i wygląda na to, że mam działającą instalację RTools, ale kiedy próbuję uruchomić evalCPP()
ponownie pojawia się ten sam błąd, co przed poleceniem instalacji RTools.
> Sys.getenv('PATH')
[1] "C:\\Program Files\\R\\R-3.1.2\\bin\\x64;C:\\RTools\\bin;C:\\RTools\\gcc-4.6.3\\bin;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files (x86)\\Enterprise Vault\\EVClient\\;C:\\Program Files (x86)\\Microsoft SQL Server\\100\\Tools\\Binn\\VSShell\\Common7\\IDE\\;C:\\Program Files (x86)\\Microsoft SQL Server\\100\\Tools\\Binn\\;C:\\Program Files\\Microsoft SQL Server\\100\\Tools\\Binn\\;C:\\Program Files (x86)\\Microsoft SQL Server\\100\\DTS\\Binn\\;C:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\Common7\\IDE\\PrivateAssemblies\\;C:\\Program Files\\Microsoft SQL Server\\110\\Tools\\Binn\\;C:\\Program Files\\Microsoft\\Web Platform Installer\\;C:\\Program Files (x86)\\Microsoft SDKs\\TypeScript\\1.0\\;C:\\Program Files\\Microsoft SQL Server\\100\\DTS\\Binn\\"
Warning message:
printing of extremely long output is truncated
> system('g++ -v')
Using built-in specs.
COLLECT_GCC=C:\RTools\GCC-46~1.3\bin\G__~1.EXE
COLLECT_LTO_WRAPPER=c:/rtools/gcc-46~1.3/bin/../libexec/gcc/i686-w64-mingw32/4.6.3/lto-wrapper.exe
Target: i686-w64-mingw32
Configured with: /data/gannet/ripley/Sources/mingw-test3/src/gcc/configure --host=i686-w64-mingw32 --build=x86_64-linux-gnu --target=i686-w64-mingw32 --with-sysroot=/data/gannet/ripley/Sources/mingw-test3/mingw32mingw32/mingw32 --prefix=/data/gannet/ripley/Sources/mingw-test3/mingw32mingw32/mingw32 --with-gmp=/data/gannet/ripley/Sources/mingw-test3/mingw32mingw32/prereq_install --with-mpfr=/data/gannet/ripley/Sources/mingw-test3/mingw32mingw32/prereq_install --with-mpc=/data/gannet/ripley/Sources/mingw-test3/mingw32mingw32/prereq_install --disable-shared --enable-static --enable-targets=all --enable-languages=c,c++,fortran --enable-libgomp --enable-sjlj-exceptions --enable-fully-dynamic-string --disable-nls --disable-werror --enable-checking=release --disable-win32-registry --disable-rpath --disable-werror CFLAGS='-O2 -mtune=core2 -fomit-frame-pointer' LDFLAGS=
Thread model: win32
gcc version 4.6.3 20111208 (prerelease) (GCC)
> system('where make')
C:\Rtools\bin\make.exe
Spojrzałem również na Appendix D of R Installation and Admin. Nic tu nie widzę, jeszcze nie próbowałem, z wyjątkiem section D.4 co sugeruje, że może potrzebować odbudować rcpp ze źródła przy użyciu moich zainstalowanych RTools. Nie mam czasu, aby to zrobić od razu, ale spróbuję, chyba że ludzie powiedzą, że ta trasa nie jest warta mojego czasu.
EDIT v2
Więc próbowałem budowę RCPP od źródła ... i to nie działało. Pobrałem pliki źródłowe i pliki binarne z pakietu od the CRAN Rcpp package page.W konsoli R teraz uzyskać:
> install.packages(pkgs = "C:/Rcpp_0.11.4.tar.gz", repos = NULL, contriburl = NULL, type = "source", verbose = TRUE)
Installing package into ‘C:/Users/james.macadie/Documents/R/win-library/3.1’
(as ‘lib’ is unspecified)
system (cmd0): C:/PROGRA~1/R/R-31~1.2/bin/x64/R CMD INSTALL
Warning in install.packages :
package ‘C:/Rcpp_0.11.4.tar.gz’ is not available (for R version 3.1.2)
Chyba moje aktywne pytania teraz sprowadzają się do:
- Czytając całość postu powyżej ktoś może mi powiedzieć jak to naprawić rzeczy tak po prostu działa ? Lub, jeśli nie ...
- Jakie testy mogę uruchomić, aby sprawdzić, czy naprawdę poprawnie zainstalowałem Rtools? Wszystko, co znalazłem w Internecie, sugeruje:
system('where make')
itd. Jednak dowód na to, że nie można uruchomićevalCpp
lub innych funkcji rccp sugeruje, że nie. - Co robię źle podczas budowania ze źródła? Czy powinienem spróbować opcji wiersza poleceń?
EDIT v3
Running evalCpp
z showOutput= TRUE
i verbose = TRUE
Chyba śledzone błąd z powrotem do R CMD SHLIB
nie działa. Połączyłem się z this blog, który pokazuje, jak pracować z wierszem poleceń R bezpośrednio. Jednak gdy dojdę do linii R CMD SHLIB sequence_examples.c
, wykonanie przechodzi prosto do następnego wiersza poleceń, nie robiąc nic, generując jakiekolwiek pliki w katalogu lub wyrzucając jakiekolwiek błędy. Próbowałem uruchamiając --help
opcje w linii poleceń, ale uzyskać ten sam rodzaj błędu:
C:\Users\james.macadie> R --help
Or: R CMD command args
where 'command' is one of:
INSTALL Install add-on packages
REMOVE Remove add-on packages
SHLIB Make a DLL for use with dynload
BATCH Run R in batch mode
build Build add-on packages
check Check add-on packages
Rprof Post process R profiling files
Rdconv Convert Rd format to various other formats
Rdiff difference R output files
Rd2pdf Convert Rd format to PDF
Rd2txt Convert Rd format to pretty text
Stangle Extract S/R code from vignette
Sweave Process vignette documentation
config Obtain configuration information about R
open Open a file via Windows file associations
texify Process a latex file
Use
R CMD command --help
for usage information for each command.
C:\Users\james.macadie> R CMD SHLIB --help
C:\Users\james.macadie>
nb dla osób czytających wcześniejsze próbki kodu wyżej w tym poście zmieniłem kilka rzeczy, ponieważ migawki kodu:
- Zainstalowałem R bezpośrednio w C: \ R. Kiedyś był w C: \ Program Files \ R \, ale sugerowano, że ścieżki do plików ze spacjami mogą powodować problemy.
- Mam odniesienie do Rtools w C: \ Rtools \, a nie C: \ RBuildTools \
Dzięki za wszelkie sugestie, jak zawsze
jest udokumentowane w wielu miejscach, w tym podręcznikach R, a także liczne samouczki co wypróbowałeś, nie działało dla ciebie, może spróbujesz innego? Rcpp nie wymaga niczego specjalnego, ale musisz mieć działające Rtools. –
Wypróbuj inną wersję Rtools. Jeśli używasz Rtools32.exe, powiedz, a następnie spróbuj odinstalować i zainstalować Rtools31.exe, pobierając go z http://cran.r-project.org/bin/windows/Rtools/ i uruchamiając pobrany właśnie instalator. Pamiętaj, aby rozpocząć świeżą sesję R i jeśli uruchamiasz R z sesji cmd, to uruchom ją ponownie. –
Niestety, już wypróbowałem Rtools32.exe –