1. 安装Fortran编译器
在Debian上部署Fortran应用的第一步是安装Fortran编译器,最常用的是GNU Fortran(gfortran),它是GCC的一部分,支持Fortran 95及以上标准。通过以下命令安装:
sudo apt update
sudo apt install gfortran
安装完成后,可通过gfortran --version验证安装是否成功,若输出版本信息则表示安装完成。
2. 准备Fortran源代码
使用文本编辑器(如vim、nano或VS Code)创建Fortran源文件,例如hello.f90,内容如下(简单示例):
program hello
print *, 'Hello, World!'
end program hello
将源文件保存至目标目录(如~/projects)。
3. 编译Fortran程序
打开终端,导航至源文件所在目录,使用gfortran编译源文件生成可执行文件。基础编译命令:
gfortran hello.f90 -o hello
其中,hello.f90是源文件名,-o hello指定输出的可执行文件名为hello。
若需要优化编译(如开启O2优化)或调试(如添加-g生成调试信息),可添加对应选项:
gfortran -O2 -Wall -g hello.f90 -o hello
-O2开启中等优化,-Wall启用所有警告,-g生成调试信息(便于使用gdb调试)。
4. 运行Fortran程序
编译成功后,在终端中执行生成的可执行文件:
./hello
若程序正常运行,终端将输出Hello, World!。
若遇到“权限不足”错误,可通过chmod +x hello添加可执行权限,或使用sudo ./hello(不推荐常规使用)。
5. 处理依赖库(可选)
若Fortran程序依赖外部库(如BLAS、LAPACK或自定义库),需在编译时指定库路径和库名。例如,链接BLAS库:
sudo apt install libblas-dev liblapack-dev # 安装基础数学库
gfortran hello.f90 -o hello -L/usr/lib/x86_64-linux-gnu -lblas -llapack
其中,-L指定库文件路径(如/usr/lib/x86_64-linux-gnu),-l指定库名(去掉lib前缀和.so/.a后缀)。
6. 并行计算部署(可选)
若程序需要并行计算,可选择OpenMP(线程级并行)或MPI(进程级并行):
-fopenmp选项,运行时直接执行:gfortran -fopenmp hello_openmp.f90 -o hello_openmp # 编译
./hello_openmp # 运行(自动使用多线程)
mpif90),运行时通过mpirun指定进程数:sudo apt install openmpi-bin openmpi-common libopenmpi-dev # 安装Open MPI
mpif90 hello_mpi.f90 -o hello_mpi # 编译
mpirun -np 4 ./hello_mpi # 运行(4个进程)
其中,-np 4表示启动4个MPI进程。7. 打包发布(可选)
若需要将Fortran程序打包为Debian安装包(.deb),需遵循以下步骤:
sudo apt install dpkg-devdebian文件夹control文件(位于debian目录下),定义包元数据:Source: your-fortran-program
Section: utils
Priority: optional
Maintainer: Your Name <your.email@example.com>
Build-Depends: debhelper (>= 9)
Standards-Version: 3.9.5
Package: your-fortran-program
Architecture: all
Depends: ${misc:Depends}, ${shlibs:Depends}
Description: Short description of your Fortran program
Long description of your Fortran program
install脚本(位于debian目录下),定义安装路径:mkdir -p ${DISTRIBUTION}/usr/bin
install -m 755 your-fortran-program ${DISTRIBUTION}/usr/bin/
设置可执行权限:chmod +x debian/installdpkg-deb --build your-fortran-program debian(生成your-fortran-program_version_arch.deb文件)