gfortran
1. 安装Fortran编译器(GUN Fortran):通过Homebrew安装,在终端输入
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
2. 设置Homebrew的路径:在终端输入
nano ~/.zshrc
添加
export PATH="/opt/homebrew/bin:$PATH"
保存并退出(Ctrl + X
, 选Y
, 然后 Enter
)
更新文件:
source ~/.zshrc
3. 检查Homebrew是否安装好,在终端输入
which brew
出现/opt/homebrew/bin/brew
brew --version
出现Homebrew 4.3.20
4. 然后安装gfortran:在终端输入以下代码
brew install gcc
5. 检查是否安装成功:
which gfortran
显示路径就是成功了,即/opt/homebrew/bin/gfortran
gfortran --version
显示
NU Fortran (Homebrew GCC 14.2.0) 14.2.0
Copyright (C) 2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
6. 设置pgfortran路径
nano ~/.zshrc
export LIBRARY_PATH="/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib"
source ~/.zshrc
7. 测试:接下来就可以写一个简单的程序测试一下
! Filename: example.f90
program square_numbers
implicit none
integer :: i
print *, "Number Square"
do i = 1, 10
print *, i, i**2
end do
end program square_numbers
将上面的代码保存到一个名为 example.f90
的文件中
使用 gfortran
编译 example.f90
文件:
gfortran -o example example.f90
运行程序
./example
得到如下输出
Number Square
1 1
2 4
3 9
4 16
5 25
6 36
7 49
8 64
9 81
10 100
使用Homebrew 安装 LAPACK 和 BLAS 库
有多个fortran文件需要链接时,需要设置和链接动态库
1. 安装 LAPACK 和 BLAS 库:在终端输入
brew install lapack
brew install openblas
安装完成后检查路径
brew --prefix openblas
返回 OpenBLAS 的安装路径,例如 /opt/homebrew/opt/openblas
设置路径
export DYLD_LIBRARY_PATH=/opt/homebrew/Cellar/openblas/0.3.28/lib:$DYLD_LIBRARY_PATH
export LDFLAGS="-L/opt/homebrew/Cellar/openblas/0.3.28/lib"
export CPPFLAGS="-I/opt/homebrew/Cellar/openblas/0.3.28/include"
2. 若存在问题,可以尝试修复库路径以及更新链接工具
install_name_tool -id @rpath/liblapack.dylib $(brew --prefix lapack)/lib/liblapack.dylib
install_name_tool -id @rpath/libopenblas.dylib $(brew --prefix openblas)/lib/libopenblas.dylib
xcode-select --install
brew update
brew upgrade
安装MPI编译
我电脑的型号是MacBook Pro M3 pro芯片,若安装open MPI也就是运行如下命令
brew install open-mpi
此时编译程序并执行
mpif90 -o example example.f90
mpirun -np 1 ./example
会出现如下错误
ld: warning: -commons use_dylibs is no longer supported, using error treatment instead
解决方法:不安装open-mpi,安装MPICH
brew uninstall open-mpi #卸载 Open MPI
brew cleanup #清除可能的残留文件
brew install mpich #安装 MPICH
export PATH="/opt/homebrew/opt/mpich/bin:$PATH" #管理 MPI 环境
mpicc --version #检查 MPI 环境
mpif90 --version
重新编译程序并运行,此时就能成功了