Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
279 views
in Technique[技术] by (71.8m points)

r - Cannot install stringi since Xcode Command Line Tools update

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

I'm attempting to install the latest version of stringi (1.1.6). This isn't possible since the most recent update to Xcode. The error received is configure: error: C compiler cannot create executables with full output here:

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

Following searching, I have tried in 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

Then, in Terminal I have tried:

Verifying that Xcode is installed:

> 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

Attempting install in R console:

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

Uninstalling/reinstalling R and GFortran:

> brew uninstall --force r

Installing GFortran from here

> brew install r
> brew link --overwrite gcc

This made no change to behaviour when trying to install stringi.

Session Info:

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
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Issue resolved by removing ~/.R/Makevars.

Exact steps taken:

  1. Close all instances of RStudio
  2. Run in Terminal: mv ~/.R/Makevars ~/.R/old_Makevars (note that the file has been renamed rather than deleted in case it may need to be restored)
  3. Re-open RStudio.
  4. Install stringi normally with install.packages("stringi")

This question might be useful to discover the contents/purpose of ~/.R/Makevars.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...