2015-02-06 13 views
7

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:

  1. Nothing (extra) nella variabile PATH
  2. 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
  3. 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 eseguire evalCpp 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

+1

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

+0

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

+0

Purtroppo ho già provato Rtools32.exe –

risposta

0

alla fine era qualcosa a sinistra-campo di bit. Ispirato allo following post, ho dato uno sguardo alla variabile di ambiente ComSpec. Non so bene come, ma ho avuto impostato su "cmd.exe".

Rimuovere le virgolette, quindi ha detto , quindi riavviare il problema.

Grazie a tutti coloro che hanno cercato di aiutare.

6

avuto lo stesso problema ciclo infinito quando si tenta di installare di Twitter BreakoutDetection (che è anche scritto in cpp)

fisso eseguendo il seguente

Sys.setenv(PATH="%PATH%;C:/Rtools/gcc-4.6.3/bin;c:/Rtools/bin") 

e poi rispondere "no" quando sono presentati con la seguente prompt:

"Installare strumenti di compilazione Compilare codice C/C++ per R richiede l'installazione di strumenti di compilazione aggiuntivi. Si desidera installare ora gli strumenti aggiuntivi?"

Non provate queste azioni in modo indipendente quindi non so se sia in quanto tali avrebbero risolto il problema

0

ho scoperto che per garantire tutti questi erano nel mio percorso ha risolto il tutto ho fatto con RStudio chiusa.; io non riavviare il sistema dopo.

C:\Program Files\R\R-3.1.3\bin\x64 
C:\Program Files\R\R-3.1.3\bin 
C:\RBuildTools\3.2\bin 
C:\RBuildTools\3.2\gcc-4.6.3\bin64 
C:\RBuildTools\3.2\gcc-4.6.3\bin 
C:\RBuildTools\3.2\gcc-4.6.3\i686-w64-mingw32\bin 

Questi sono sul mio computer Win7-64bit. YMMV, e sto in gran parte questo distacco per garantire gli altri lo vedono se stanno avendo lo stesso problema.