R会话中止包光栅

R session aborded package raster

你好堆栈溢出社区,
我本周升级到最新版本的 R 和 R 工作室,每当我尝试加载包 raster.

时,我的 R 会话都会遇到致命错误

我试着查看软件包的依赖项,然后重新安装了所有依赖项以确保万无一失。

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

有什么想法吗?

以下是我的会话信息。

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

在寻找解决方案时,我还发现我的 Makevars 文件不完整。我使用了 in here 中描述的解决方案,它要求 RStudio 确保它始终保存带有尾随换行符的文件,但它在这里不起作用。 问题是我不知道这个问题是我很久没遇到了,还是和raster问题有关。

我尝试加载超过 50 个其他包,错误似乎与 raster 库有关。

> 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'

非常感谢您提供的任何帮助。我真的不知道接下来要测试什么!

最好的, 罗莎莉

问题出在 clang 上。

我首先更新到 macOS Catalina 10.15.4,然后使用 this code. Then, I used some here:

卸载了之前版本的 R 开发工具链

在终端中,我使用代码 xcode-select --install 打开一个弹出窗口 window。按 "Install",然后按照步骤安装 xcode。 通过点击 gcc --version 来验证安装。 然后,下载并安装合适的 gfortran 二进制文件 find correct version here.

在 R 中,我重新安装了 Rcpp 和光栅 install.packages("Rcpp", "raster")

我现在可以加载 raster 而无需会话中止!