首页 > 解决方案 > 运行可执行文件时出现 FFTW 错误“找不到符号:_ompi_mpi_char”

问题描述

我在 macOS Catalina (10.15.7) 上,并且使用brew install fftw. 直到今天,我都能够运行需要 FFTW 的可执行文件。我不知道为什么它今天停止工作并给了我以下错误。

dyld: Symbol not found: _ompi_mpi_char
  Referenced from: /usr/local/opt/fftw/lib/libfftw3_mpi.3.dylib
  Expected in: flat namespace
 in /usr/local/opt/fftw/lib/libfftw3_mpi.3.dylib
zsh: abort      ./cartogram -h

我已经尝试了从卸载和重新安装我所有的 brew 包和 git 从 GitHub 克隆一个新的 repo 的所有方法,但是当我的朋友从 GitHub 新克隆 repo 时它对我的朋友有用,但它不起作用。我怀疑这与我 2 天前的“macOS Catalina 10.15.7 更新”有关,那是我上次成功运行可执行文件后的 1 天。

任何帮助表示赞赏,谢谢。

标签: c++fftw

解决方案


我认为这可能是由于公式的 flag --enable-openmp。我尝试使用以下命令自己编译 FFTW 3.3.10 进行配置:

./configure --enable-threads --enable-shared --disable-debug --disable-dependency-tracking --enable-avx2

接着

make && make install

推荐阅读