R一直安装软件包很好,但突然间 - 我想不出我修改或卸载的任何相关内容 -
我在命令提示符中运行R CMD check
或在R控制台中运行devtools::check()
时找不到gcc;它传达了以下错误:
* installing *source* package 'PkgName' ...
** libs
C:/MinGW/bin/gcc -I"C:/PROGRA~1/R/R-34~1.2/include" -DNDEBUG -I"d:/Compiler/gcc-4.9.3/local330/include" -O3 -Wall -std=gnu99 -mtune=core2 -c PkgName-init.c -o PkgName-init.o
C:/MinGW/bin/gcc: not found
我希望R在C:\ Rtools-3.4 \ mingw_32 \ bin中找到gcc,这是系统PATH中指定的位置; strsplit(Sys.getenv('PATH'), ';')
给出了
[...]
[4] "c:\\Rtools-3.4\\bin"
[5] "c:\\Rtools-3.4\\mingw_32\\bin"
[7] "C:\\Program Files\\R\\R-3.4.2\\bin\\i386"
[8] "C:\\Program Files\\R\\R-3.4.2\\bin"
[9] "C:\\Program Files\\MiKTeX 2.9\\miktex\\bin\\x64\\"
[...]
如何告诉R不要查看不存在的目录C:\ MinGW,而是跟随PATH?
我不想在那里安装MinGW的第二个副本,因为这会导致其他问题。
答案 0 :(得分:0)
在遇到Building R Packages using Alternate GCC并进行了一些试验和错误后,我能够通过在$ RPATH / etc / i386 / Makeconf中修改我的Makeconf文件来解决这个问题
gcc可执行文件的位置由CC = $(BINPREF)gcc $(M_ARCH)
BINPREF
设置为BINPREF ?= c:/Rtools/mingw_32/bin/
,而我的Rtools位于c:/Rtools-3.4/mingw_32/bin/
。
据推测,R - 无法在那里找到gcc - 默认查看C:\MinGW
。当我将BINPREF
行更改为指向我的Rtools安装时,问题已解决,无法检查我自己的包。
当从源代码安装其他软件包(phangorn)时,我不得不将?=
替换为=
行中的BINPREF
。
我还不完全清楚是什么原因导致这个问题出现,因为我不记得曾经修改过这个文件......