Andrew
Andrew

Reputation: 688

Installing the R package PearsonDS gives clang unexpected token error

I have a problem installing the R package PearsonDS. In RStudio, I run:

> install.packages("PearsonDS")
Warning in install.packages :
  unable to access index for repository https://cran.rstudio.com/bin/macosx/el-capitan/contrib/3.6:
  cannot open URL 'https://cran.rstudio.com/bin/macosx/el-capitan/contrib/3.6/PACKAGES'
Package which is only available in source form, and may need compilation of C/C++/Fortran: ‘PearsonDS’
Do you want to attempt to install these from sources? (Yes/no/cancel) Yes
installing the source package ‘PearsonDS’

trying URL 'https://cran.rstudio.com/src/contrib/PearsonDS_1.1.tar.gz'
Content type 'application/x-gzip' length 63798 bytes (62 KB)
==================================================
downloaded 62 KB

* installing *source* package ‘PearsonDS’ ...
** package ‘PearsonDS’ successfully unpacked and MD5 sums checked
** using staged installation
checking whether x86 FPU control code is needed... yes
checking for gcc... clang
checking for C compiler default output file name... 
configure: error: C compiler cannot create executables
See `config.log' for more details.
ERROR: configuration failed for package ‘PearsonDS’
* removing ‘/Library/Frameworks/R.framework/Versions/3.6/Resources/library/PearsonDS’
Warning in install.packages :
  installation of package ‘PearsonDS’ had non-zero exit status

The downloaded source packages are in
    ‘/private/var/folders/03/32f1q0m9187czl2dwcms4jgr0000gn/T/RtmpKg5AWd/downloaded_packages’

So, I downloaded the package from https://cloud.r-project.org/src/contrib/, and after opening the PearsonDS_1.1.tar file, I enter in the PearsonDS folder in terminal and run R CMD INSTALL .. The error in the config.log reads as follows

## ----------- ##
## Core tests. ##
## ----------- ##

configure:1660: checking whether x86 FPU control code is needed
configure:1673: result: yes
configure:1729: checking for gcc
configure:1756: result: clang
configure:1994: checking for C compiler version
configure:2001: clang --version >&5
Apple LLVM version 7.0.0 (clang-700.0.72)
Target: x86_64-apple-darwin16.7.0
Thread model: posix
configure:2004: $? = 0
configure:2011: clang -v >&5
Apple LLVM version 7.0.0 (clang-700.0.72)
Target: x86_64-apple-darwin16.7.0
Thread model: posix
configure:2014: $? = 0
configure:2021: clang -V >&5
clang: error: argument to '-V' is missing (expected 1 value)
clang: error: no input files
configure:2024: $? = 1
configure:2047: checking for C compiler default output file name
configure:2074: clang -Wall -g -O2 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -I/usr/local/include  conftest.c  >&5
ld: unexpected token: !tapi-tbd-v2 file '/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/libSystem.tbd' for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
configure:2077: $? = 1
configure:2115: result: 
configure: failed program was:
| /* confdefs.h.  */
| #define PACKAGE_NAME "PearsonDS"
| #define PACKAGE_TARNAME "pearsonds"
| #define PACKAGE_VERSION "0.91"
| #define PACKAGE_STRING "PearsonDS 0.91"
| #define PACKAGE_BUGREPORT "[email protected]"
| #define X86 1
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:2122: error: C compiler cannot create executables
See `config.log' for more details.

How can I solve it? I looked for similar errors (e.g., https://trac.macports.org/ticket/54506?cversion=0&cnum_hist=2) but I didn't manage to solve the issue.

My current R session is:

> sessionInfo()
R version 3.6.1 (2019-07-05)
Platform: x86_64-apple-darwin15.6.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: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRlapack.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.6.1 tools_3.6.1    yaml_2.2.1    

Upvotes: 5

Views: 304

Answers (3)

mccurcio
mccurcio

Reputation: 1344

Although I do not have MacOS, I know that when I cannot compile something in Ubuntu I look at the development libraries.

After looking around I found this

sudo apt install libc6-dev

See:https://askubuntu.com/questions/647583/how-to-fix-configure-error-c-compiler-cannot-create-executables

Upvotes: 0

hmood
hmood

Reputation: 603

I typed install.packages('PearsonDS') in the RStudio console and it works for me. Try copy-pasting my line exactly the same way. There might be some minor differences. Also you will require Rtools to make the job easier

Upvotes: 2

ranga
ranga

Reputation: 380

Have you tried the latest ld64 or "ld64_xcode variant of ld64" as suggested here ?

Upvotes: -1

Related Questions