繁体   English   中英

我可以更改 Homebrew FFTW 安装的位置吗? R 似乎无法读取位于 Cellar 文件夹中的 FFTW3.h 文件

[英]Can I change the location of Homebrew FFTW install? R can't seem to read FFTW3.h file located in Cellar folder

我正在尝试按照 macosX 安装页面( 在此处提供)上的说明安装 Daniel Fürth 的 Wholebrain。 我正在运行 MacOS Big Sur 11.5.2、R 4.1.2 和 RStudio 2021.09.1。

不幸的是,该程序安装起来并不简单,需要大量的开发人员工具才能正常工作。 我不是程序员,几乎没有编码经验,所以我已经通过说明进行了两天,试图让安装正常工作,我坚定地坚持最后一步。

在 RS 中,当我运行时, devtools::install_github("tractatus/wholebrain", INSTALL_opts=c("--no-multiarch"))我收到以下错误消息:

/bin/sh: pkg-config: command not found filter.cpp:9:10: fatal error: 'fftw3.h' file not found #include "fftw3.h" ^~~~~~~~~ 1 error generated. make: *** [filter.o] Error 1 ERROR: compilation failed for package 'wholebrain'

我一直试图弄清楚这意味着什么,我想我已经把它缩小到 R 没有读取 fftw header 文件的位置,它是由 Homebrew 安装的。 (我可能完全错了,再次 - 不是程序员)

据我了解,Homebrew 总是安装在 opt/homebrew/cellar 下。 而且,事实上,在编译后的 fftw 程序中包含所需的“fftw3.h”文件。 但由于某种原因,RStudio 无法找到并读取该位置的文件。

从随机谷歌搜索和阅读其他发布的问题,我认为 RStudio 可能期望该文件位于 usr/local/include 下。 我可以将 header 文件复制并粘贴到该文件夹中吗? 或者如果我这样做,我会搞砸一些事情吗? 我完全被 fftw 对手动编译的描述吓到了,所以我真的不想尝试。 有没有办法改变 R 在哪里寻找 header 文件? 我已经将我的 wd 设置为“/”,所以 R 不应该能够访问我计算机上的任何文件夹吗?

我想在这里为遇到相同问题的任何人发布答案。 它归结为 RStudio 无法识别 Homebrew 安装的程序,因为它没有读取 Homebrew 保存它们的文件位置。 Homebrew 总是在 /opt/homebrew/ 中保存/编译程序...这是我必须做的:

在 RStudio 中,使用以下命令打开 Renviron 文件: usethis::edit_r_environ()

在打开的文件中(对我来说完全是空白的),输入: PATH=/opt/homebrew/bin:${PATH} ,或者您想要附加到 Renviron 路径的任何特定路径。

退出 RStudio 并在出现提示时保存。 重新打开 RStudio 并运行Sys.getenv("PATH")进行检查。 您的新路径(在上面的示例中,“/opt/homebrew/bin”)现在应该附加到 RStudio 在查找程序/文件时将使用的路径列表中。 对我来说,这现在看起来像/opt/homebrew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/Library/Apple/usr/bin:/Applications/RStudio.app/Contents/MacOS/postback

最后,我要非常感谢 Mark Setchell,他真的帮助我指明了正确的方向!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM