自从我安装了Catalina之后,任何编译R软件包的尝试都将失败。我的系统设置为使用自制软件。失败消息如下所示:
/usr/local/clang8/bin/clang -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I../inst/include -I/usr/local/clang8/include -I/usr/local/Cellar/gcc/8.3.0_2/include -fopenmp -fPIC -Wall -g -O2 -c R_register_native.c -o R_register_native.o
In file included from R_register_native.c:1:
/Library/Frameworks/R.framework/Resources/include/R.h:55:11: fatal error: 'stdlib.h' file not found
# include <stdlib.h> /* Not used by R itself, but widely assumed in packages */
在谷歌搜索之后,我在GitHub的自制网站上找到了此链接。我不能过多地讨论,但是似乎Apple删除了usr / include目录,而本地人正在寻找解决方案。我不需要立即编译这些软件包,因此我的计划是等到自制软件找到解决方案为止。但是,如果现在有一个简单的,请分享。
经过一些额外的搜索后,我发现了link并进行了大量有关此问题的讨论,其中很多我都不理解。但是这段代码似乎很有希望。
sudo ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/* /usr/local/include/
我运行它,重新启动了Mac,打开了RStudio,并获得了新软件包更新的列表。运行更新,回答是进行编译。很多消息和一些警告,但是到最后,都没有错误。但是所有消息都以
开头/usr/local/clang8/bin/clang -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I../inst/include -I/usr/local/clang8/include -I/usr/local/Cellar/gcc/8.3.0_2/include -fopenmp -fPIC -Wall -g -O2 -c R_register_native.c -o R_register_native.o
当我进入/ usr / local / clang8 / bin并获取clang的版本时,它就是Apple clang版本11.0.0。还有clang符号链接到clang-8和clang ++符号链接到clang
/usr/local/Cellar/gcc
的内容是一个名为9.2.0_1的目录。当我转到/ usr / bin并运行gcc --version时,我收到有关这是Apple clang版本11.0.0的消息。似乎R正在使用Apple clang版本进行编译。那是问题吗?有什么办法可以将所有内容转移到使用Brew的clang版本吗?仅供参考,这是我当前的路径-/ usr / local / bin:/ usr / local / sbin:/ usr / local / bin:/ usr / bin:/ bin:/ usr / sbin:/ sbin:/ Library / Apple / usr / bin:/ Library / Apple / bin:/ Library / TeX / texbin:/ opt / X11 / bin:/ usr / local / CrossPack-AVR / bin:/ usr / local / git / bin