Sono piuttosto nuovo a R, quindi mi scuso per una domanda stupida. Sto cercando di ottenere rcpp in esecuzione ma sono bloccato in un ciclo infinito di R che mi chiede di reinstallare RTools.Errore durante l'installazione e l'esecuzione di rcpp
Ho seguito ampiamente il codice in this blog post, anche se la prima volta ho installato tutto a mano & Successivamente ho reinstallato tutto un paio di volte. Sono in esecuzione Windows 7, R versione 3.1.2, R Studio versione 0.98.1091 (non che questo dovrebbe avere molta importanza) e RTools 3.1.
Un punto culminante a cura di ciò che la mia console assomiglia è la seguente:
> 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.
A tal punto una finestra di dialogo si apre dicendo:
Install Build Tools Compiling C/C++ code for R requires installation of additional build tools. Do you want to install the additional tools now?
in tanto sono diretto per scaricare e ri -installare RTools 3.1 da cran tutto da capo.
Ho visto che questo può essere un problema con la variabile PATH, ma ho provato varie cose, tra cui:
- Nothing (extra) nella variabile PATH
- Tra cui entrambi i riferimenti a R (C: \ Programmi \ R \ R-3.1.2 \ bin \ x64) e RTools (C: \ RBuildTools \ 3.1 \ bin; C: \ RBuildTools \ 3.1 \ gcc-4.6.3 \ bin;) nel PERCORSO. Una volta con RTools prima, una volta con R prima
- Includendo solo un riferimento a RTools nel PERCORSO come il file di installazione iniziale mi ha indirizzato a fare.
Tutte le idee sulle cose da provare dovrebbero essere accettate con gratitudine!
EDIT
seguito il commento di Dirk sembra che potrei avere un problema con il modo in è installato RTools. Ho seguito le istruzioni di diversi blog/tutorial su come installare RTools; tutto inutilmente (ancora!)
This GitHub page fornisce alcune istruzioni su come installare e verificare che l'installazione abbia funzionato. Ho seguito tutti i controlli (vedi sotto per la copia della console) e sembra che abbia un'installazione funzionante di RTools, ma quando provo a eseguire evalCPP()
di nuovo ho lo stesso errore di prima di dirmi di installare 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
Ho anche dato un'occhiata a Appendix D of R Installation and Admin. Non riesco a vedere nulla qui non ho ancora provato tranne per section D.4 che implica che potrebbe essere necessario ricostruire rcpp dal sorgente utilizzando il mio RTools installato. Non ho tempo di farlo subito ma proverò a provarlo a meno che la gente non dica che questa via non vale la pena.
EDIT v2
Così ho provato edificio rcpp dalla fonte ... e che non ha funzionato neanche. Ho scaricato sia il pacchetto sorgente che i binari di Windows da the CRAN Rcpp package page.Nella console di R io ora ottenere:
> 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)
Credo che la mia domanda attivi ora si riducono a:
- Leggendo tutto il post di cui sopra qualcuno può dirmi come risolvere le cose in modo che funziona solo ? Oppure, in caso contrario ...
- Quali test posso eseguire per verificare che Rtools sia installato correttamente? Tutto quello che ho trovato su internet mi suggerisce di farlo:
system('where make')
ecc. Tuttavia, la prova di non essere in grado di eseguireevalCpp
o altre funzioni rccp mi suggerisce di no. - Cosa sto facendo male quando si costruisce dalla fonte? Dovrei provare l'opzione della riga di comando?
EDIT v3
Esecuzione evalCpp
con showOutput= TRUE
e verbose = TRUE
credo di aver rintracciato l'errore di nuovo a R CMD SHLIB
non funziona. Ho seguito this blog, che mostra come lavorare direttamente con la riga di comando R. Tuttavia, quando arrivo alla riga R CMD SHLIB sequence_examples.c
, l'esecuzione salta direttamente alla riga di comando successiva senza fare nulla, generando alcun file nella directory o generando errori. Ho provato a fare funzionare le --help
opzioni alla riga di comando, ma ottenere lo stesso tipo di errore:
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>
N.B. per le persone che leggono i precedenti esempi di codice più in alto in questo post ho modificato alcune cose da quelle istantanee del codice:
- Ho installato R direttamente in C: \ R. Ha usato per essere in C: \ Program Files \ r \ ma come è stato suggerito percorsi dei file con gli spazi in grado di causare problemi
- Sto riferimento Rtools in C: \ Rtools \ e non C: \ RBuildTools \
Grazie per eventuali suggerimenti, come sempre
questo è documentato in diversi punti, inclusi i manuali R e numerosi tutorial quello che hai provato non ha funzionato per te, forse ne provi un altro? Rcpp non richiede nulla di speciale, ma è necessario che Rtools funzioni. –
Provare una versione diversa di Rtools. Se si utilizza Rtools32.exe, ad esempio, provare a disinstallarlo e installare Rtools31.exe scaricandolo da http://cran.r-project.org/bin/windows/Rtools/ ed eseguendo il programma di installazione appena scaricato. Assicurati di avviare una nuova sessione di R e se stai lanciando R da una sessione di cmd, riavviala per prima. –
Purtroppo ho già provato Rtools32.exe –