首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字符串安装错误:配置:错误:C编译器无法创建可执行文件

字符串安装错误:配置:错误:C编译器无法创建可执行文件
EN

Stack Overflow用户
提问于 2017-12-28 15:50:57
回答 4查看 3.5K关注 0票数 5

我正在尝试安装stringi软件包后,最近更新R的最新版本。但是,我遇到了以下错误:

*安装*源代码*包‘stringi’.*包‘stringi’成功解压缩,MD5和检查本地ICUDT_DIR.R_HOME的数据检查。/usr/local/Cellar/r/3.4.3/lib/R检查R./usr/local/Cellar/r/3.4.3/lib/R/bin/R检查R >= 3.1.0以供C++11使用。是的检查R< 3.4.0是否使用CXX1X标志。不检查猫..。//检查/检查gcc./usr/local/opt/llvm/bin/clang -fopenmp检查C编译器是否工作.“无配置:错误:在/private/var/folders/y5/m7pd62wn3939vyqxygrd\_ff80000gn/T/RtmpNBCRW2/R.INSTALL8ec750ee123/stringi': configure: error: C compiler cannot create executables Seeconfig.log‘中获取更多详细信息”错误:“config.log”包的配置失败*删除“/usr/local/lib/r/3.4/site-库/ install.packages中的警告:安装包’config.log‘具有非零的退出状态。

在一些帖子之后,我试着:

代码语言:javascript
复制
install.packages('stringi', configure.args='--disable-cxx11')

或者:

代码语言:javascript
复制
install.packages('stringi', type='mac.binary')

我怎么能正确地安装stringi,难道我错过了什么吗?

附加信息:我用自制更新了R。在尝试安装data.table之前,我成功地安装了stringi,因此它似乎是由特定于包的问题引起的。

这是我的会话信息:

代码语言:javascript
复制
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 
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2020-01-13 05:39:17

在更新stringi包时,我也遇到了同样的问题。正如在这里所说的,这个问题不是用https://github.com/gagolews/stringi/issues/291,而是在~/.R/Makevars中。在命令行中使用rm ~/.R/Makevars删除此文件时,安装是成功的。

票数 6
EN

Stack Overflow用户

发布于 2017-12-30 07:07:18

我不知道是什么造成了这个错误。但最后,我通过以下步骤安装了stringi

  • 删除由R安装的所有版本:brew uninstall --force r
  • 从CRAN下载gfortran(不确定是否需要下载gfortran)和Mac的R3.4.3(我选择了.pkg,而.dmg文件也可用)并安装它们。
  • 打开studio并运行install.packages('stringi'),它似乎成功地安装了二进制包。
票数 0
EN

Stack Overflow用户

发布于 2018-03-19 08:33:15

升级您的编译器,下面是openSUSE上的一个示例:

安装更新版本的编译器:

代码语言:javascript
复制
zypper in gcc7 gcc7-c++ gcc7-c++ gcc7-fortran

编辑编译器配置文件,打开/usr/lib64/R/etc/Makeconf,并添加以下内容:

代码语言:javascript
复制
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,只需直接安装所需的包即可。

(愉快的编码;)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48010417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档