U W
U W

Reputation: 1290

Cannot install stringi since Xcode Command Line Tools update

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

Upvotes: 4

Views: 2161

Answers (1)

U W
U W

Reputation: 1290

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.

Upvotes: 6

Related Questions