我在最近更新R到最新版本后尝试安装stringi
包。但是,我遇到了这个错误:
* installing *source* package ‘stringi’ ... ** package ‘stringi’ successfully unpacked and MD5 sums checked checking for local ICUDT_DIR... icu55/data checking for R_HOME... /usr/local/Cellar/r/3.4.3/lib/R checking for R... /usr/local/Cellar/r/3.4.3/lib/R/bin/R checking for R >= 3.1.0 for C++11 use... yes checking for R < 3.4.0 for CXX1X flag use... no checking for cat... /bin/cat checking for gcc... /usr/local/opt/llvm/bin/clang -fopenmp checking whether the C compiler works... no configure: error: in `/private/var/folders/y5/m7pd62wn3939vyqxygrd_ff80000gn/T/RtmpNBCRW2/R.INSTALL8ec750ee123/stringi': configure: error: C compiler cannot create executables See `config.log' for more details ERROR: configuration failed for package ‘stringi’ * removing ‘/usr/local/lib/R/3.4/site-library/stringi’ Warning in install.packages : installation of package ‘stringi’ had non-zero exit status
在发布一些帖子后,我尝试了:
install.packages('stringi', configure.args='--disable-cxx11')
或:
install.packages('stringi', type='mac.binary')
我怎样才能正确安装stringi
,我错过了哪些内容?
其他信息:我用Homebrew更新了R.我在尝试安装data.table
之前成功安装了stringi
,因此它似乎是由特定于程序包的问题引起的。
这是我的会话信息:
R version 3.4.3 (2017-11-30)
Platform: x86_64-apple-darwin17.2.0 (64-bit)
Running under: macOS High Sierra 10.13.2
Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] compiler_3.4.3 tools_3.4.3
答案 0 :(得分:0)
我不知道导致错误的原因。但最后我可以通过以下步骤安装stringi
:
删除自制程序安装的R
的所有版本:brew uninstall --force r
下载gfortran(不确定是否有必要,只需按照手册中的安装指南)和RAN 3.4.3 for Mac OS X来自CRAN(我选择.pkg,而.dmg文件也可用)和安装它们。
打开工作室并运行install.packages('stringi')
,这似乎成功安装了二进制包。
答案 1 :(得分:0)
升级你的编译器,这是一个适用于openSUSE的例子:
安装较新版本的编译器:
zypper in gcc7 gcc7-c++ gcc7-c++ gcc7-fortran
编辑编译器配置文件,打开/usr/lib64/R/etc/Makeconf
,然后添加以下内容:
CC = gcc-7
CXX = g++-7
CXX98 = g++-7
CXX11 = g++-7
CXX14 = g++-7
CXX17 = g++-7
FC = gfortran-7
F77 = gfortran-7
理论上,您无需重新启动R,只需直接安装所需的软件包即可。
快乐的编码;)
答案 2 :(得分:0)
如果您使用的是MacOS,则您的xcode
许可证可能已过期。尝试运行:
sudo xcodebuild -license
从命令行并同意许可。
答案 3 :(得分:0)
更新stringi
软件包时遇到了同样的问题。如此处https://github.com/gagolews/stringi/issues/291所述,问题不在于stringi,而在于〜/ .R / Makevars。在命令行中使用rm ~/.R/Makevars
删除此文件后,安装成功。