使用libstdc安装R包++;

使用libstdc安装R包++;,r,package,libstdc++,R,Package,Libstdc++,这就是问题所在: 我正在尝试安装一个R软件包(“Zinba”),我使用的是OS X Mavericks 10.9.1,在安装R CMD时出现以下错误: * installing to library ‘/usr/local/Cellar/r/3.0.2/R.framework/Versions/3.0/Resources/library’ * installing *source* package ‘zinba’ ... ** libs clang -I/usr/local/Cellar/r/3

这就是问题所在:

我正在尝试安装一个R软件包(“Zinba”),我使用的是OS X Mavericks 10.9.1,在安装R CMD时出现以下错误:

* installing to library ‘/usr/local/Cellar/r/3.0.2/R.framework/Versions/3.0/Resources/library’
* installing *source* package ‘zinba’ ...
** libs
clang -I/usr/local/Cellar/r/3.0.2/R.framework/Resources/include -DNDEBUG  -I/usr/local/include    -fPIC   -c aliType.c -o aliType.o
clang++ -I/usr/local/Cellar/r/3.0.2/R.framework/Resources/include -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c alignAdjust.cc -o alignAdjust.o
clang++ -I/usr/local/Cellar/r/3.0.2/R.framework/Resources/include -DNDEBUG  -I/usr/local/include    -fPIC  -g -O2  -c analysis.cc -o analysis.o
In file included from analysis.cc:18:
./analysis.h:10:10: fatal error: 'ext/slist' file not found
#include <ext/slist>
     ^
1 error generated.
make: *** [analysis.o] Error 1
ERROR: compilation failed for package ‘zinba’
* removing ‘/usr/local/Cellar/r/3.0.2/R.framework/Versions/3.0/Resources/library/zinba’
*安装到库'/usr/local/ceral/r/3.0.2/r.framework/Versions/3.0/Resources/library'
*正在安装*source*包“zinba”。。。
**自由基
clang-I/usr/local/ceral/r/3.0.2/r.framework/Resources/include-DNDEBUG-I/usr/local/include-fPIC-c aliType.c-o aliType.o
clang++-I/usr/local/ceral/r/3.0.2/r.framework/Resources/include-DNDEBUG-I/usr/local/include-fPIC-g-O2-c alignAdjust.cc-o alignAdjust.o
clang++-I/usr/local/ceral/r/3.0.2/r.framework/Resources/include-DNDEBUG-I/usr/local/include-fPIC-g-O2-c analysis.cc-o analysis.o
在分析中包含的文件中。cc:18:
./analysis.h:10:10:致命错误:“找不到ext/slist”文件
#包括
^
生成1个错误。
make:**[analysis.o]错误1
错误:包“zinba”的编译失败
*删除“/usr/local/ceral/r/3.0.2/r.framework/Versions/3.0/Resources/library/zinba”
我搜索了这个错误,发现Mavericks中的XCode默认使用libc++而不是libstdc++,建议使用“-stdlib=libstdc++”进行编译

现在这是第三方R包。有人能建议如何使用libstdc++编译这个包吗。我还在我的机器里找了这个库,但我没有找到它


谢谢。

在REPL中,您可以使用
with r::with_makevars
在安装过程中临时定义环境变量:

library(withr)

with_makevars(c(CXXFLAGS = "-stdlib=libstdc++"),
              install.packages("zinba", repos = NULL, type = "source"))
在引擎盖下,它使用您提供的代码创建一个临时文件,将环境变量
R\u MAKEVARS\u USER
设置为指向它,然后在完成后恢复默认值