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