MacOS M1芯片openmp库出现mach-o file, but is an incompatible architecture (have ‘arm64‘, need ‘x86_64‘问题解决
1. 问题描述#
报错如下所示:
ImportError: dlopen(/Users/Xuan/Developer/DLTools/GPRModule/gprMax/fields_updates_ext.cpython-310-darwin.so, 0x0002): tried: ‘/Users/Xuan/Developer/DLTools/GPRModule/gprMax/fields_updates_ext.cpython-310-darwin.so’ (mach-o file, but is an incompatible architecture (have ‘arm64’, need ‘x86_64’)), ‘/System/Volumes/Preboot/Cryptexes/OS/Users/Xuan/Developer/DLTools/GPRModule/gprMax/fields_updates_ext.cpython-310-darwin.so’ (no such file), ‘/Users/Xuan/Developer/DLTools/GPRModule/gprMax/fields_updates_ext.cpython-310-darwin.so’ (mach-o file, but is an incompatible architecture (have ‘arm64’, need ‘x86_64’))
2. 问题出现原因#
本文所述场景使用conda进行环境管理,使用conda list | grep openmp
命令可以查看已经安装的有关openmp库的信息。通过返回信息可以看到,conda默认情况下构建的是基于intel芯片的库,这就是出现“have ‘arm64’, need ‘x86_64’”错误的原因所在了。
$ conda list | grep openmp
intel-openmp 2021.4.0 hecd8cb5_3538 defaults
llvm-openmp 14.0.6 h0dcd299_0 defaults
3. 解决方案#
在macOS平台上安装OpenMP库的操作方法如下:
编译安装#
- 从LLVM的下载页面安装libomp。
- 导航到LLVM的下载页面。
- 下载OpenMP源代码。
- 编译源代码并安装。
使用Homebrew安装#
brew install libomp
Reference#
作者:realxuan
出处:https://www.cnblogs.com/realxuan/p/17644654.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!