2016-08-23 14 views
5

Sprawdziłem istniejące wpisy dotyczące SO związane z moim konkretnym problemem, ale nadal nie mogłem go rozwiązać.Zainstalowano Rtools Rtools, ale komunikat błędu g ++ nie został znaleziony

Próbuję to zrobić z moim komputerem w pracy, gdzie mam ograniczone uprawnienia administratora, ale mogę uruchomić Rtools.exe, więc zainstalowałem go.

Moja konfiguracja dla R wynosi:

platform  x86_64-w64-mingw32   
arch   x86_64      
os    mingw32      
system   x86_64, mingw32    
version.string R version 3.3.0 (2016-05-03) 

Jestem RStudion wersja 0.99.902. Zainstalowałem Rtools w wersji 3.3.0.1959.

Wszystkie programy R, Rstudio i Rtools są instalowane w katalogu C:/WORK /, w którym mam ograniczone uprawnienia administratora.

W moim systemem zmiennej ENV, mam skonfigurować:

C:\\WORK\\Rtools\\bin; C:\\WORK\\Rtools\\gcc- 4.6.3\\bin; C:\\WORK\\R-3.3.0\\bin\\x64;" 

gdy uruchamiam

system('where make') 

uzyskać

C:\WORK\Rtools\bin\make.exe 

Kiedy biegnę

system('g++ -v') 

uzyskać:

Using built-in specs. 
COLLECT_GCC=C:\WORK\Rtools\GCC-46~1.3\bin\G__~1.EXE 
COLLECT_LTO_WRAPPER=c:/WORK/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) 

Kiedy skompilować, otrzymuję ten błąd:

Error in compileCode(f, code, language = language, verbose = verbose) : 
Compilation ERROR, function(s)/method(s) not created! 
c:/Rtools/mingw_64/bin/g++: not found 

Moje pytanie brzmi: dlaczego R nadal poszukuje g ++ w

c:/Rtools/mingw_64/bin/g++ 

Nie Już ustawiłem R, aby go wyszukać w:

C:/WORK/Rtools? 

Nawet kiedy ręcznie dodane

c:/WORK/Rtools/mingw_64/bin/g++ 

w zmiennej ENV, nadal mam ten sam błąd. (Nie mogę utworzyć folderu Rtools w C:/z powodu uprawnień administratora.)

Czy ktoś napotkał konkretny problem?

+0

Sys.getenv() ['ŚCIEŻKA'] daje 'C: \ WORK \ R-3.3.0 \ bin \ x64; C: \ WORK \ Rtools \ bin; C: \ WORK \ Rtools \ mingw_64 \ bin; C: \ WORK \ Rtools \ bin; C: \ WORK \ Rtools \ mingw_32 \ bin; C: \ WORK \ R-3.3.0 \ bin \ x64; C: \ WINDOWS \ system32; C: \ WINDOWS; C: \ WINDOWS \ System32 \ Wbem; C: \ Program Files (x86) \ Microsoft Office \ Office14; C: \ WINDOWS \ System32 \ WindowsPowerShell \ v1.0 \; Sys.getenv() ['PATH'] C: \ APPS \ Global \ dev_tools; C: \ Program Files (x86) \ Enterprise Vault \ EVClient \; C: \ WORK \ TortoiseSVN \ bin; C: \ WORK \ Rtools \ bin; C: \ WORK \ Rtools \ mingw_64 \ bin; C: \ WORK \ R-3.3.0 \ bin \ x64' – David

Odpowiedz

1

To, co się dzieje, to być na RTools 34 i NOT 33 dla R 3.3.x.

Wyjąć rtools zainstalować, a następnie postępuj zgodnie z instrukcjami tutaj:

http://thecoatlessprofessor.com/programming/rcpp/install-rtools-for-rcpp/

@David, trzeba usunąć wszystkie wystąpienia C:\WORK\Rtools\<something> i wszelkie duplikaty (np pojawia C:\WORK\R-3.3.0\bin\x64 dwa razy). Następnie dodać:

c:\WORK\Rtools\bin; c:\WORK\Rtools\mingw_32\bin;

+0

Strona na https://cran.r-project.org/bin/windows/Rtools/ wspomina o Rtools3.3 do R 3.2. * I R 3.3. * i Rtools3.4 dla R 3.3. * i więcej, sugerując wybór. Więc OP może mieć problem z "PATH"? –

+0

Odinstalowałem Rtools33 i zainstalowałem Rtools34. Nadal mam ten sam komunikat o błędzie: "Błąd kompilacji, funkcja/metody/metody nie zostały utworzone! C:/Rtools/mingw_64/bin/g ++: not found". Nadal nie mogę zmusić R do szukania "Rtools/mingw_64/bin" w miejscu, które zainstalowałem, mimo że dodałem ścieżkę do zmiennej PATH zmiennej ENV. – David

+0

Proszę dodać dane wyjściowe do swojego wpisu powyżej: 'Sys.getenv() ['ŚCIEŻKA']' – coatless

5

ścieżka c:/Rtools/mingw_64/bin/ jest zakodowane w pliku Makeconf znajduje się gdzieś w instalacji R (w moim przypadku C:\Progs\R\R-3.4.1\etc\x64), jak wartość zmiennej BINPREF.

Najłatwiej jest zmienić tę ścieżkę na ścieżkę C:/WORK/Rtools/bin (w moim przypadku była to C:/Progs/RTools/3.4/mingw_64/bin/). To zadziałało dla mnie w świeżej instalacji R-3.4.1 i Rtools3.4 i minimalnym przykładem.

+2

Modyfikowanie pliku 'Makeconf' powinno być dołączone jako krok do aktualizacji Rtools – user3226167

Powiązane problemy