Search code examples
rpackageraster

R session aborded package raster


Hello stackoverflow community,
I upgraded to the latest version of R and R studio this week, and have my R sessions encountering fatal error whenever I try to load the package raster.

I tried looking at the dependencies of the package, and re-installed all of them just to be sure.

# Install dependencies
db <- available.packages()
(deps <- tools::package_dependencies("raster", db)$raster)
# [1] "sp"      "Rcpp"    "methods"
install.packages(deps)

Any ideas?

Below are my session infos.

devtools::session_info("raster")
─ Session info ───────────────────────────────────────────────────────────────────
 setting  value                       
 version  R version 3.6.3 (2020-02-29)
 os       macOS Mojave 10.14.6        
 system   x86_64, darwin15.6.0        
 ui       RStudio                     
 language (EN)                        
 collate  en_US.UTF-8                 
 ctype    en_US.UTF-8                 
 tz       America/New_York            
 date     2020-04-17                  

─ Packages ───────────────────────────────────────────────────────────────────────
 package * version date       lib source        
 lattice * 0.20-41 2020-04-02 [1] CRAN (R 3.6.2)
 raster    3.0-12  2020-01-30 [1] CRAN (R 3.6.0)
 Rcpp      1.0.4.6 2020-04-09 [1] CRAN (R 3.6.3)
 sp        1.4-1   2020-02-28 [1] CRAN (R 3.6.0)

[1] /Library/Frameworks/R.framework/Versions/3.6/Resources/library

While looking for a solution, I also found out that my Makevars file is incomplete. I used the solution described in here, which asks RStudio to ensure it always saves files with a trailing newline, but it doesn't work here. Problem is I don't know if I have had this issue for a long time, or whether it is related to the raster issue.

I tried loading >50 other packages, and the error seems to be tied to the raster library.

> writeLines(readLines(file.path(Sys.getenv("HOME"), ".R/Makevars")))
##CC=clang
##CXX=clang++
CPPFLAGS="-isystem /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include"
CC = gcc
CXX=/usr/local/bin/g++-9
CXX1X=/usr/local/clang6/bin/clang++
CXX98=/usr/local/clang6/bin/clang++
CXX11=/usr/local/clang6/bin/clang++
CXX14=/usr/local/clang6/bin/clang++
CXX17=/usr/local/clang6/bin/clang++
LDFLAGS=-L/usr/local/clang6/lib
Warning message:
In readLines(file.path(Sys.getenv("HOME"), ".R/Makevars")) :
  incomplete final line found on '/Users/Rosalie/.R/Makevars'

Thanks a lot in advance for any help you may be able to provide. I really have no idea what to test next!

Best, Rosalie


Solution

  • The issue was with clang.

    I first updated to macOS Catalina 10.15.4, then uninstalled the R development toolchain I had for previous version using this code. Then, I used some here:

    In the terminal, I used the code xcode-select --install, that open a pop-up window. Press "Install", and follow the steps to install xcode. Verify installation by taping in gcc --version. Then, download and install the appropriate gfortran binary find correct version here.

    In R, I re-installed Rcpp and raster install.packages("Rcpp", "raster").

    I am now able to load the raster without the session abording!