在macOS上编译Rust应用程序时,如何解决“找不到-lgfortran的库”?

时间:2019-01-11 00:57:37

标签: rust gfortran

我正在尝试构建Rust应用,尝试构建时得到以下提示。这是在我安装ndarray-linalg和ndarray之后发生的。

我安装了gcc和openvc。我在macOS上。

 = note: ld: library not found for -lgfortran
          clang: error: linker command failed with exit code 1 (use -v to see invocation)

我该如何解决?

which gfortran
/usr/local/bin/gfortran

我在这里找到图书馆

ls /usr/local/Cellar/gcc/8.2.0/lib/gcc/8/libgfortran.*
/usr/local/Cellar/gcc/8.2.0/lib/gcc/8/libgfortran.5.dylib    
/usr/local/Cellar/gcc/8.2.0/lib/gcc/8/libgfortran.dylib
/usr/local/Cellar/gcc/8.2.0/lib/gcc/8/libgfortran.a      
/usr/local/Cellar/gcc/8.2.0/lib/gcc/8/libgfortran.spec
ldconfig -p | grep fortran
-bash: ldconfig: command not found

并且还运行以下内容:

brew reinstall gcc

我如何确保Rust会找到它?

1 个答案:

答案 0 :(得分:0)

首先检查是否设置了任何环境变量

  • DYLD_LIBRARY_PATH
  • DYLD_FALLBACK_LIBRARY_PATH

这些变量告诉编译器在哪里可以找到系统上安装的库。内置库通常放在/usr/lib中,而 homebrew 会将它们放在/usr/local/lib中。所以这些应该在您的lib路径中。

如果由于某种原因而找不到您的图书馆,您可以尝试

export DYLD_LIBARY_PATH=$DYLD_LIBARY_PATH:/usr/local/Cellar/gcc/8.2.0/lib/gcc/8

,如果不起作用,请尝试其他变量。