从CRAN和GitHub安装systemfonts包失败。

5

我最近将我的英特尔 MacBook 从 Catalina 升级到 Monterey(Darwin 发布版 21.1.0)。我通过 home-brew 将 R 从 4.0.1 升级到 4.1.1。我已经重新安装了我工作所需的大部分软件包,但在使用 mapview 时遇到了问题。由于依赖项 systemfonts 的问题,它无法安装。我尝试从 CRAN 直接安装 systemfonts,但失败了;后来我又尝试从 GitHub 安装,但同样失败,并出现了以下错误信息:

/bin/sh: I/usr/local/Cellar/r/4.1.1_1/lib/R/include: No such file or directory
make: [mac/FontManagerMac.o] Error 127 (ignored)

and

clang: error: no such file or directory: 'mac/FontManagerMac.o'
make: *** [systemfonts.so] Error 1
ERROR: compilation failed for package ‘systemfonts’
* removing ‘/usr/local/lib/R/4.1/site-library/systemfonts’
Warning message:
In i.p(...) :
  installation of package ‘/var/folders/85/56q39hqj2_gf31m9mbln7hhw0000gn/T//RtmpJGiNgA/file324134b404c/systemfonts_1.0.3.9000.tar.gz’ had non-zero exit status

我很感激您对这个问题的任何想法。我可能会在GitHub上开一个r-lib/systemfonts的问题,因为这可能与软件包和更新操作系统之间的某种不兼容有关,但我认为我应该从这里开始。

谢谢。


include: 错误之前有任何相关的内容吗?看起来编译命令缺少一个破折号,因为我认为它应该是 -I/usr/local/...。我的猜测是 那个 错误导致了缺失的 .o 文件,所以更多关于第一个错误的上下文可能会有用。谢谢! - r2evans
4
你需要使用Homebrew吗?当你需要编译源代码包时,Homebrew版本的R表现不佳。如果你使用官方的Mac R构建版本,那就应该没问题了。 - MrFlick
r2evans - 这是在错误之前的输出行:I"/usr/local/Cellar/r/4.1.1_1/lib/R/include" -DNDEBUG -I/usr/local/opt/freetype/include/freetype2 -I'/usr/local/lib/R/4.1/site-library/cpp11/include' -I/usr/local/opt/gettext/include -I/usr/local/opt/readline/include -I/usr/local/opt/xz/include -I/usr/local/include -fobjc-arc -fPIC -c mac/FontManagerMac.mm -o mac/FontManagerMac.o - Christopher Michaud
前面那一行怎么样?由于我不知道要回溯多少行,最好包括从install.packages(.)到错误的输出。 - r2evans
1
我从Homebrew中卸载了R版本,然后按照MrFlick的建议安装了CRAN的官方版本。 R和所有软件包都已成功安装,没有出现错误。 我不知道“当您需要编译源代码包时,Homebrew版本的R并不好用”,但事实似乎是如此。谢谢! - Christopher Michaud
1
遇到了同样的问题,看起来已经有一个问题被开启 https://github.com/r-lib/systemfonts/issues/84 - Kevin Cazelles
2个回答

6
  1. 在bash shell中:

    sudo apt install libfontconfig1-dev

  2. 在RStidio中:

    install.packages("systemfonts", dependencies = TRUE)


1
由于OP使用的是macOS,因此这不是一个有用的答案。 - Dirk Eddelbuettel

3

@Kevin_Cazelles在问题列表中提供的解决方案链接在我的电脑上有效。似乎与gcc和R对编译器的调用有关。

这个方法对我有用:

brew reinstall gcc 
brew link --overwrite gcc

然后在R-studio终端中执行此操作。
withr::with_makevars(c(OBJCXX = "gcc"), install.packages('systemfonts'))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接