在 R 中安装"RcppArmadillo"包时出错
Error while installing "RcppArmadillo" package in R
我使用的是macOS High Sierra版本10.13.4。在安装"Rcpp犰狳"软件包时,我收到以下两条警告消息:
checking whether /usr/local/clang6/bin/clang++ -Wall accepts -g... (cached) yes
checking whether g++ version is sufficient... almost
configure: WARNING: Compiler self-identifies as being compliant with GNUC extensions but is not g++.
checking for macOS... found
checking for macOS Apple compiler... not found
checking for clang compiler... found
checking for OpenMP compatible version of clang... found and suitable
checking LAPACK_LIBS... R-supplied partial LAPACK found
configure: WARNING: Some complex-valued LAPACK functions may not be available
当我在终端上输入"gcc --version"时,我得到
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 9.1.0 (clang-902.0.39.2)
Target: x86_64-apple-darwin17.5.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
我在 R 中的 Makevars 文件看起来像:
FLIBS=-L/usr/local/gfortran/lib/gcc/x86_64-apple-darwin16/6.3.0 -L/usr/local/gfortran/lib -lgfortran -lquadmath -lm
F77 = /usr/local/bin/gfortran
FC = $F77
CXX = /usr/local/clang6/bin/clang++ -Wall
LDFLAGS=-L/usr/local/clang6/lib
CC= /usr/local/clang6/bin/clang
SHLIB_CXXLD=ccache /usr/local/clang6/bin/clang++
CXX11 = /usr/local/clang6/bin/clang++
CXX98 = /usr/local/clang6/bin/clang++
CXX14 = /usr/local/clang6/bin/clang++
如何删除这两个警告标志?
简而言之,这些是警告而不是错误。此外,这些警告无关紧要。
让我们谈谈每个警告的含义...
第一个警告
配置:警告:编译器自我标识为符合 GNUC 扩展,但不是 g++。
这说明在Makevars
文件的CXX
变量中定义的编译器标识为gcc
,但不是gcc
编译器。实质上,每个编译器都有自己的预定义标头,请参见第 3.7.2 节 C 预处理器的通用预定义宏,此检查的重点是验证是否选择了现代gcc
编译器。但是,如果编译器谎报它是谁,则很难检查编译器是否存在。
有关源的详细信息,请参阅问题在 g++版本检查 #183 后在配置中添加检查消息成功以及在 g++ 测试上提交默认消息中的讨论(。
第二个警告
配置: 警告:某些复值 LAPACK 函数可能不可用
在此警告中,有人抱怨底层线性代数 PACKage 与R附带的相同。不幸的是,与R一起提供的LAPACK受到严重限制并且有点过时。因此,这里的检查希望通过OpenBLAS,Intel MKL或ATLAS存在外部LAPACK。由于此检查的结构方式,除非您从源代码编译R(即您选择不使用 CRAN 提供的二进制文件(,否则无法避免打嗝。
简单地说,CRAN 二进制文件在特定位置查找 LAPACK。切换到另一个 LAPACK 需要建立到现有 lRlapack 位置的符号链接,这是检查搜索的内容。但是,不建议进行这样的符号链接。(对不起,vecLib爱好者!
如果有兴趣从源代码进行编译,请考虑查看 R 安装和管理的 A.3 线性代数部分,其中介绍了使用外部 LAPACK 的过程。
- 访问者访问变体并返回不同类型时出错
- 在Linux for Windows上编译C++代码时出错
- 读取文件的最后一行并输入到链接列表时出错
- 重载操作程序时出错>>用于类中的字符串 memebr
- 调用专用模板时出错"no matching function for call to [...]"
- C++-试图将函数指针推回到另一个CPP文件中的矢量时出错
- LINK 尝试使用 OpenSSL evp aes 256 c++ 时出错
- 在Google Kick start中提交时出错
- 在c++中访问int到类对象的映射时出错
- 分段错误当我试图运行程序时出错
- 使用dynamic_cast和构造函数时出错
- CHECK(调用)函数在Google Colab中出错
- 用pybind11包装C++抽象类时出错
- 为x86而非x64编译时出错
- 从R调用C++函数并对其进行集成时出错
- 这个函数哪里出错了
- C++ 创建包含链表和字符串的对象的链接列表时出错
- 为重写std::exception的库生成swig接口时出错
- 导入/导出变量时出错
- 在 R 中安装"RcppArmadillo"包时出错