无法在带有苹果M1芯片的最新macbook上加载R包gmm



我正在尝试加载包gmm(运行"库(gmm)")并在下面获取此错误消息。

它似乎无法修复,因为它指出我的gfortran/lib/libgomp.1.dylib有错误的架构?我猜这与新的Mac架构有关?

库(gmm)装载所需包装:夹层

错误:dyn.load中"gmm"的包或命名空间加载失败(文件,DLLpath=DLLpath,…):

无法加载共享对象"/Library/Frameworks/R.framework/Versions/4.0/Resources/Library/gmm/libs/gmm.so":

dlopen(/Library/framework/R.framework/Versions/4.0/Resources/Library/gmm/libs/gmm.so,6):未加载库:/usr/local/gfortran/lib/libgomp.1.dylib参考自:/Library/framework/R.framework/Versions/4.0/Resources/Library/gmm/libs/gmm.so

原因:未找到合适的图像。确实找到:

**/usr/local/gfortran/lib/libgomp.1.dylib: mach-o, but wrong architecture**
/usr/local/gfortran/lib/libgomp.1.dylib: mach-o, but wrong architecture

我在R版本4.1上遇到了同样的问题。在这里发现了一个类似的问题,指向在这里安装(或更新)您的gfortran安装。一旦我这样做并重新启动R,gmm包就能够在我加载包时自动找到丢失的映像。

在切换到带有Apple M2 Max芯片的新款Macbook Pro后,我遇到了类似的问题。我得到的错误是:

Error: package or namespace load failed for ‘gmm’ in dyn.load(file, DLLpath = DLLpath, ...):
unable to load shared object '/Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/library/gmm/libs/gmm.so':
dlopen(/Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/library/gmm/libs/gmm.so, 0x0006): Library not loaded: /opt/R/arm64/gfortran/lib/libgomp.1.dylib
Referenced from: <47242657-5A5D-3982-936B-398527D642B4> /Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/library/gmm/libs/gmm.so
Reason: tried: '/opt/R/arm64/gfortran/lib/libgomp.1.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/opt/R/arm64/gfortran/lib/libgomp.1.dylib' (no such file), '/opt/R/arm64/gfortran/lib/libgomp.1.dylib' (no such file), '/usr/local/lib/libgomp.1.dylib' (no such file), '/usr/lib/libgomp.1.dylib' (no such file, not in dyld cache)

我尝试了上面链接的解决方案,安装gfortran并重新启动R,但没有成功。以下是有效的解决方案(在安装gfortran之后):

  1. 导航到RStudio中的终端选项卡并键入mfind libgomp.1.dylib,找到libgomp.1.dlib文件。这将返回文件的当前位置
  2. 在Finder中,转到文件所在的目录(转到>转到文件夹->[粘贴目录])
  3. 在新的Finder窗口中,转到R查找文件的目录。我可以导航到/opt/R/arm64/文件夹,但子文件夹gfortran和lib不存在,所以我创建了它们。每次更改此文件夹时,我都必须输入计算机密码
  4. 将libgomp.1.dylib文件从第一个查找器窗口复制到新创建的文件夹中。文件目录应该与R在错误消息中查找的内容相匹配。所以对我来说,这是/opt/R/arm64/gfortran/lib/libgomp.1.dylib
  5. 卸载gmm程序包和/或您试图安装的程序包(它是该程序包的依赖项)。重新安装程序包并加载它们。这次应该正确安装和加载它们。我遇到了一个问题,没有为我当前版本的R安装一些依赖项,我通过使用BiocManager安装它们来解决这个问题

希望这对有同样错误的人有帮助!

相关内容

  • 没有找到相关文章

最新更新