过去3年,我一直在使用Rcpp和RcppArmadillo编写代码。在某些时候,我在Xcode命令行工具上安装了额外的编译器(gcc / gfortran)。从那时起,我没有能够安装RcppArmadillo而无需从源代码编译R(即使它不能一直工作)。
我不太了解编译器等,并且尝试我在互联网上阅读的内容,我觉得在这一点上,我对我的目录和编译器已经搞得太多了,什么都行不通。在我暂时恢复Mac的出厂设置之前,我希望删除所有附加编译器/ Xcode等,并从头开始。
我应该怎么做呢?
对于上下文,当我尝试加载RcppArmadillo
时出现此错误> library(RcppArmadillo)
Error: package or namespace load failed for ‘RcppArmadillo’ in dyn.load(file, DLLpath = DLLpath, ...):
unable to load shared object '/Users/Dootika/Library/R/3.4/library/RcppArmadillo/libs/RcppArmadillo.so':
dlopen(/Users/Dootika/Library/R/3.4/library/RcppArmadillo/libs/RcppArmadillo.so, 6): Symbol not found: ___addtf3
Referenced from: /usr/local/lib/libquadmath.0.dylib
Expected in: /usr/local/lib/libgcc_s_x86_64.1.dylib
in /usr/local/lib/libquadmath.0.dylib
几年前我问过this question,现在每个R版本都会更新我必须从源代码安装。必须有办法解决这个问题,对吧?
答案 0 :(得分:2)
macOS工具链的状态与 R 3.4。*行略有不同。由于 R 核心团队选择将macOS提升到其他 R 安装的速度,因此对于macOS构建的 R 正在进行更改通过OpenMP实现并行化的条款。特别是,以前的安装操作:Xcode Commandline Tools和自定义gfortran 4.9二进制文件已经改变。
未来的新路径将是:安装Xcode Commandline Tools,官方gfortran 6.1二进制文件和一个名为clang4
的自定义clang二进制文件。官方支持使用OpenMP的后期工具。
为此,我编写了一个快速的clang4安装程序(.pkg格式)来处理放置clang4
组件。这可以在这里找到更详细的概述:
http://thecoatlessprofessor.com/programming/openmp-in-r-on-os-x/