Ошибка установки * source * пакета 'Rcpp'.R указывает / ищет g ++ в неправильной папке - PullRequest
1 голос
/ 16 июня 2019

В Windows 10 Education 64bit, я использую R версии 3.6.0 с Rtools 3.5.0 в RStudio версии 1.2.1335.Я получаю следующую ошибку при попытке установить devtools::install_github("RcppCore/Rcpp")

> devtools::install_github("RcppCore/Rcpp")
Downloading GitHub repo RcppCore/Rcpp@master
√  checking for file 'C:\Users\mat\AppData\Local\Temp\RtmpCSoh75\remotesb542b002bf2\RcppCore-Rcpp-6062d56/DESCRIPTION' (856ms)
-  preparing 'Rcpp': (5.8s)
√  checking DESCRIPTION meta-information
-  cleaning src
-  checking for LF line-endings in source and make files and shell scripts (822ms)
-  checking for empty or unneeded directories (4.8s)
-  building 'Rcpp_1.0.1.3.tar.gz' (389ms)
   Warning: file 'Rcpp/cleanup' did not have execute permissions: corrected

Installing package into ‘C:/Users/mat/Documents/R/win-library/3.6’
(as ‘lib’ is unspecified)
* installing *source* package 'Rcpp' ...
** using staged installation
** libs

*** arch - i386
C:/Rtools/bin/g++  -I"C:/PROGRA~1/R/R-36~1.0/include" -DNDEBUG -I../inst/include/         -O2 -Wall  -mtune=generic -c api.cpp -o api.o
sh: C:/Rtools/bin/g++: No such file or directory
make: *** [C:/PROGRA~1/R/R-36~1.0/etc/i386/Makeconf:215: api.o] Error 127
ERROR: compilation failed for package 'Rcpp'
* removing 'C:/Users/mat/Documents/R/win-library/3.6/Rcpp'
* restoring previous 'C:/Users/mat/Documents/R/win-library/3.6/Rcpp'

Для воспроизведения этого кода:

>install.packages("devtools")
>library("devtools")
>options(buildtools.check = NULL)
>install.packages("Rcpp", dep = TRUE)
>devtools::install_github("RcppCore/Rcpp")

Мой системный путь начинается следующим образом:

>Sys.getenv()['PATH']
PATH                           
        C:\Program 
Files\R\R-3.6.0\bin\x64;C:\Rtools\bin;C:\Rtools\mingw_32\bin;C:\Rtools\mingw_64\bin;

и между программой и файлами есть пробел

В качестве администратора я изменил Makeconf через Блокнот в 32- и 64-битных папках на: BINPREF ?= D:/Rtools/mingw_32/bin/ и BINPREF ?= D:/Rtools/mingw_64/bin/

Я попробовал эту ссылку, чтобы исправить файл Makeconf: Rcpp Rtools установлен, но сообщение об ошибке g ++ не найдено

Для проблем компиляции Rcpp эта ссылка показалась полезной: Невозможно скомпилировать из источника сRcpp в Windows 7

Это как-то связано с закомментированием тегов rpp или изменением некоторых переменных в Makevars или Makeconf?Если нет, то почему код devtools::install_github("RcppCore/Rcpp") ищет g ++ в неправильной корзине?Он выглядит в

C: / Rtools / bin / g ++

, как вы можете видеть.

После копирования и вставки g ++. Exe в> C: / Rtools / bin / g ++ Я получаю еще одну ошибку:

>devtools::install_github("RcppCore/Rcpp")
    Downloading GitHub repo RcppCore/Rcpp@master
    √  checking for file 'C:\Users\mat\AppData\Local\Temp\RtmpCSoh75\remotesb54764929a4\RcppCore-Rcpp-6062d56/DESCRIPTION' (916ms)
    -  preparing 'Rcpp': (5.7s)
    √  checking DESCRIPTION meta-information ... 
    -  cleaning src
    -  checking for LF line-endings in source and make files and shell scripts (986ms)
    -  checking for empty or unneeded directories (3.8s)
    -  building 'Rcpp_1.0.1.3.tar.gz' (352ms)
       Warning: file 'Rcpp/cleanup' did not have execute permissions: corrected

    Installing package into ‘C:/Users/mat/Documents/R/win-library/3.6’
    (as ‘lib’ is unspecified)
    * installing *source* package 'Rcpp' ...
    ** using staged installation
    ** libs

    *** arch - i386
    C:/Rtools/bin/g++  -I"C:/PROGRA~1/R/R-36~1.0/include" -DNDEBUG -I../inst/include/         -O2 -Wall  -mtune=generic -c api.cpp -o api.o
    Cannot create temporary file in C:\Users\mat\AppData\Local\Temp\: Permission denied
    make: *** [C:/PROGRA~1/R/R-36~1.0/etc/i386/Makeconf:215: api.o] Error 3
    ERROR: compilation failed for package 'Rcpp'
    * removing 'C:/Users/mat/Documents/R/win-library/3.6/Rcpp'
    * restoring previous 'C:/Users/mat/Documents/R/win-library/3.6/Rcpp'

Я не думаю, что копирование g ++. Exe - это правильный путь.Однако это стоило попробовать и, возможно, привело к правильному ответу.Пожалуйста помоги.(Если вы последовательно запускаете devtools::install_github("RcppCore/Rcpp"), вам нужно удалить папку блокировки (00LOCK-Rcpp) в ~ / R / win-library / 3.6, чтобы избежать ERROR: failed to lock directory) Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...