stringi install error: configure: error: C compiler cannot create executables
stringi install error: configure: error: C compiler cannot create executables
我正在尝试在最近将 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。我在尝试安装 stringi
之前成功安装了 data.table
,因此这似乎是由特定于软件包的问题引起的。
这是我的会话信息:
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
我不知道是什么导致了这个错误。但最终我能够通过以下步骤安装 stringi
:
删除自制软件安装的所有 R
版本:brew uninstall --force r
从 CRAN 下载 gfortran(不确定是否有必要,只需按照手册中的安装指南进行操作)和 R 3.4.3 for Mac OS X(我选择.pkg,而 .dmg 文件也可用)并安装它们。
打开studio,运行install.packages('stringi')
,二进制包安装成功
升级你的编译器,这里是一个在 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,直接安装你需要的包即可。
编码愉快 ;)
如果您使用的是 MacOS,您的 xcode
许可证可能已过期。尝试 运行:
sudo xcodebuild -license
从命令行并同意许可。
我在更新 stringi
包时遇到了同样的问题。如此处所述 https://github.com/gagolews/stringi/issues/291,问题不在于 stringi,而是在于 ~/.R/Makevars。在命令行中使用 rm ~/.R/Makevars
删除此文件后安装成功。
我正在尝试在最近将 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。我在尝试安装 stringi
之前成功安装了 data.table
,因此这似乎是由特定于软件包的问题引起的。
这是我的会话信息:
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
我不知道是什么导致了这个错误。但最终我能够通过以下步骤安装 stringi
:
删除自制软件安装的所有
R
版本:brew uninstall --force r
从 CRAN 下载 gfortran(不确定是否有必要,只需按照手册中的安装指南进行操作)和 R 3.4.3 for Mac OS X(我选择.pkg,而 .dmg 文件也可用)并安装它们。
打开studio,运行
install.packages('stringi')
,二进制包安装成功
升级你的编译器,这里是一个在 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,直接安装你需要的包即可。
编码愉快 ;)
如果您使用的是 MacOS,您的 xcode
许可证可能已过期。尝试 运行:
sudo xcodebuild -license
从命令行并同意许可。
我在更新 stringi
包时遇到了同样的问题。如此处所述 https://github.com/gagolews/stringi/issues/291,问题不在于 stringi,而是在于 ~/.R/Makevars。在命令行中使用 rm ~/.R/Makevars
删除此文件后安装成功。