MPICH:MPICC ld:找不到文件:/usr/local/lib/gcc/4.9/libgfortran.3.dylib for architecture x86_64

时间:2015-04-07 02:47:59

标签: c macos gcc linker-errors mpich

我刚用brew在我的mac上安装了MPICH。我正在尝试编译代码。     

MacBook-Air:~ ali$ cd Desktop/mpitest
MacBook-Air:mpitest ali$ mpicc mpi_prime.c -o mpi_prime
ld: file not found: /usr/local/lib/gcc/4.9/libgfortran.3.dylib for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我尝试了mpiexec主机名,它运行得很好。 谢谢。

2 个答案:

答案 0 :(得分:0)

问题是从gcc 4.9切换到gcc 5会破坏Fortran 3 lib的路径。我对R有同样的问题:

metalpro2:~ mirkoebert$ R
dyld: Library not loaded: /usr/local/lib/gcc/4.9/libgfortran.3.dylib
Referenced from: /usr/local/Cellar/r/3.2.0/R.framework/Versions/3.2/Resources/lib/libR.dylib
Reason: image not found
Trace/BPT trap: 5

R引用gcc 4目录中的Fortran 3 lib。

brew 的解决方案:

  1. 你需要gcc 4.9和5.X,通过brew安装
  2. 将您的新lib链接到旧的gcc文件夹:
  3. ln -s /usr/local/lib/gcc/5/libgfortran.3.dy lib/usr/local/lib/gcc/4.9/libgfortran.3.dylib

    现在适用于R。

答案 1 :(得分:0)

我和@ tfb785有同样的问题,但他的解决方案对我不起作用。我已经有了gcc 4.9.2_1和5,但我不得不告诉brew在版本之间切换:

brew switch gcc 4.9.2_1