【netcdf-fortran的安装 (Inter编译器、GNU编译器)】

netcdf-fortran的安装 (Inter编译器、GNU编译器)

由于netcdf-fortran安装流程较为复杂,并且在不同的编译环境下,安装的netcdf并不能通用,所以在此记录一下两种编译器下netcdf-fortran的安装步骤及细节;如有问题,欢迎大家留言评论,或者私信~~

  1. 安装gfortran、gcc、cpp和curl
sudo yum install gfortran
sudo yum install gcc
sudo yum install gcc-c++
sudo yum install cpp

如果使用ifort,则需要安装Inter编译组件,包括Inter基础工具和Intel® HPC Toolkit ,详细信息及使用手册可以参考:Inter 官方下载地址

tee > /tmp/oneAPI.repo << EOF
[oneAPI]
name=Intel® oneAPI repository
baseurl=https://yum.repos.intel.com/oneapi
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://yum.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
EOF

sudo mv /tmp/oneAPI.repo /etc/yum.repos.d

yum install intel-basekit
yum install intel-hpckit

如果遇到 ifort: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21’ not found (required by ifort) 的问题可以参考:https://blog.csdn.net/u010257584/article/details/113102286

  1. 配置编译器环境
# 设置编译器环境
export NETCDF=/usr/local/netcdf-gcc #这里我们将相关包和库都安装到这个文件夹下
export CC=gcc
export CXX=cpp
export FC=gfortran
export F90=gfortran
export F77=gfortran
# 如果是icx编译
export NETCDF=/usr/local/netcdf-icx #这里我们将相关包和库都安装到这个文件夹下
export CC=icx  # 旧版是 icc
export CXX=icpx # 旧版是 icpx
export FC=ifort
export F90=ifort
export F77=ifort
# 非常重要
export LD_LIBRARY_PATH=${NETCDF}/lib:${LD_LIBRARY_PATH}
  1. 安装zlib
# 下载安装包
wget http://www.zlib.net/zlib-1.2.13.tar.gz
# 解压并安装
tar -zxvf zlib-1.2.13.tar.gz
cd zlib-x.x.x/
./configure --prefix=${NETCDF}
make
make check
sudo make install

可以在make后面加入-j5参数来进行并行化编译,加速编译和安装

  1. 安装slib

#下载地址:ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4/

#解压 tar -zxvf slib-2.1.tar.gz
cd slib-x.x.x
#配置安装信息:
./configure --prefix=${NETCDF}

#编译:
make

#检查:
make check

#安装:
make install
  1. 安装curl

地址: https://curl.se/download/

#解压 
tar -zxvf curl-7.85.0.tar.gz
cd curl-x.x.x
#配置安装信息:(选一个)

./configure --with-zlib=${NETCDF} --prefix=${NETCDF}

CPPFLAGS=-I${NETCDF}/include LDFLAGS=-L${NETCDF}/lib ./configure --prefix=${NETCDF}

#编译:
make

#检查:
make check

#安装:
sudo make install

补充:安装后如果yum运行报错执行:

export LD_LIBRARY_PATH="/usr/lib64:/usr/lib:${LD_LIBRARY_PATH}"
  1. 安装HDF5
tar -zxvf hdf5-1.10.8.tar.gz
cd hdf5-x.x.x/
./configure --prefix=${NETCDF} --with-zlib=${NETCDF}
make
make check
sudo make install
  1. 安装netcdf-c(4.8.0)
tar -zxvf netcdf-c-x.x.x.tar.gz
cd netcdf-c-x.x.x/
export CPPFLAGS=-I${NETCDF}/include 
export LDFLAGS=-L${NETCDF}/lib 
./configure --prefix=${NETCDF} --enable-netcdf-4 --enable-largefile --disable-dap --disable-libxml2
make
make check
sudo make install
  1. 安装netcdf-fortran(4.8.1)
tar -zxvf netcdf-fortran-x.x.x.tar.gz
cd netcdf-fortran-x.x.x/
export CPPFLAGS=-I${NETCDF}/include
export LDFLAGS=-L${NETCDF}/lib
./configure --prefix=${NETCDF} --disable-fortran-type-check
./configure --prefix=${NETCDF} CC=${CC} FC=${FC}   # 上面的不行的话可以试试这个
make
make check
sudo make install
  1. ~/.bashrc中配置环境变量
export NETCDF=/usr/local/netcdf-icx    # nercdf-icx 按照所需修改
export PATH=${NETCDF}/bin:${PATH}
export LD_LIBRARY_PATH=${NETCDF}/lib:${LD_LIBRARY_PATH}
export CPPFLAGS=-I${NETCDF}/include
export LDFLAGS=-L${NETCDF}/lib
  1. 在终端里输入source ~/.bashrc或重新进入终端即可正常使用netcdf-fortran库

  2. 调用netcdf-fortran库的使用范例如下。主要是在命令后面加入
    -I${NETCDF}/include -L${NETCDF}/lib -lnetcdff -lnetcdf
    以gfortran使用为例:

gfortran -o a xxx.F90 -I${NETCDF}/include -L${NETCDF}/lib -lnetcdff  -lnetcdf

以上所有安装包的版本仅供参考,按需选择自己所需版本;

以上内容参考了众多大佬的文章,对大家表达感谢。

  • 12
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值