自Xcode命令行工具更新后无法安装stringi

时间:2018-02-19 13:03:51

标签: r xcode stringi

  • 系统:macOS Sierra 10.12.6
  • Xcode :9.2(2347)
  • R :3.4.0
  • RStudio :1.1.383

我试图安装最新版本的stringi(1.1.6)。自从Xcode的最新更新以来,这是不可能的。收到的错误是configure: error: C compiler cannot create executables,其中包含完整输出:

Installing package into ‘/usr/local/lib/R/3.4/site-library’
(as ‘lib’ is unspecified)
trying URL 'http://cran.rstudio.com/src/contrib/stringi_1.1.6.tar.gz'
Content type 'application/x-gzip' length 3647049 bytes (3.5 MB)
==================================================
downloaded 3.5 MB

* 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.0_1/R.framework/Resources
checking for R... /usr/local/Cellar/r/3.4.0_1/R.framework/Resources/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/wd/vzwq4t9d54jb_w8m3twn7mzh0000gp/T/Rtmpu6QgYM/R.INSTALL1566d417bcdad/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

在搜索之后,我尝试了RStudio

> install.packages("stringi", type = "mac.binary")
  package ‘stringi’ is available as a source package but not as a binary

> install.packages("stringi", type = "mac.binary.mavericks")    
  package ‘stringi’ is available as a source package but not as a binary

> install.packages("stringi", repos="http://cran.rstudio.com/", dependencies = TRUE)
  configure: error: C compiler cannot create executables

> options(install.packages.check.source = "no")
> install.packages("stringi", repos="http://cran.rstudio.com/", dependencies = TRUE)
  configure: error: C compiler cannot create executables

> install.packages('stringi', configure.args='--disable-cxx11')
  configure: error: C compiler cannot create executables

然后,在终端我尝试过:

验证是否已安装Xcode:

> xcode-select --version
  xcode-select version 2347.

> /usr/bin/clang --version
  Apple LLVM version 9.0.0 (clang-900.0.39.2)
  Target: x86_64-apple-darwin16.7.0
  Thread model: posix
  InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

在R控制台中尝试安装:

> R
> devtools::install_github("Rexamine/stringi")
  configure: error: C compiler cannot create executables

卸载/重新安装R和GFortran

> brew uninstall --force r

here

安装GFortran
> brew install r
> brew link --overwrite gcc

尝试安装stringi时没有改变行为。

会话信息

R version 3.4.0 (2017-04-21)
Platform: x86_64-apple-darwin16.5.0 (64-bit)
Running under: macOS Sierra 10.12.6

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_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
 [1] httr_1.3.1           compiler_3.4.0       R6_2.2.2             DBI_0.7              tools_3.4.0         
 [6] withr_2.0.0          RPresto_1.3.0.9000   curl_2.8.1           yaml_2.1.14          memoise_1.1.0       
[11] Rcpp_0.12.15         git2r_0.19.0         digest_0.6.12        devtools_1.12.0.9000

1 个答案:

答案 0 :(得分:1)

通过删除~/.R/Makevars来解决问题。

采取了确切的步骤:

  1. 关闭所有RStudio实例
  2. 在终端中运行:mv ~/.R/Makevars ~/.R/old_Makevars(请注意,该文件已被重命名,而不是在需要恢复时删除)
  3. 重新打开RStudio。
  4. 通常使用install.packages("stringi")
  5. 安装stringi

    This question可能有助于发现〜/ .R / Makevars的内容/目的。