最近根据导师老板的要求要学习建模系统,结果第一步就卡住了,研究了好久才明白首先要建立netcdf4的库。下面是我收集到的安装教程,以供大家学习(还有我以后电脑崩溃重装时不至于抓瞎)。
目前,安装netcdf4以上的版本是将c和Fortran分开,也就是要先装netcdf-c才能装netcdf-fortran.
而且在安装netcdf-c和netcdf-fortran之前还需要两个东西,一个是zlib,一个是HDF5,也就是本次教程需要安装四个软件。本次教程需要fortran的intel编译器ifort。
根据网友们建议,几个程序都安装在同一个文件夹下,这样有一个好处,就是在编辑环境变量的时候可以有效避免漏掉一下库和链接.
本次使用安装包:
zlib-1.2.11.tar.gz
hdf5-1.8.18.tar.gz
curl-7.70.0.tar.gz
netcdf-c-4.8.0.tar.gz
netcdf-fortran-4.5.3.tar.gz
1. Fortran编译器是Intel的ifort,终端中输入:
export CC=icc
export CXX=icpc
export CFLAGS='-O3 -xHost -ip -no-prec-div -static-intel'
export CXXFLAGS='-O3 -xHost -ip -no-prec-div -static-intel'
export F77=ifort
export FC=ifort
export F90=ifort
export FFLAGS='-O3 -xHost -ip -no-prec-div -static-intel'
export CPP='icc -E'
export CXXCPP='icpc -E'
2. 安装zlib
下载地址:http://www.zlib.net/ (本次教程使用zlib-1.2.11版本)
cd进入zlib所下载的文件夹后,解压 tar -zxvf zlib-1.2.11.tar.gz
进入zlib-1.2.11文件夹,配置安装信息:
./configure --prefix=/usr/local/netcdf4(usr文件夹创建是需要root或者sudo)
编译:make
检查:make check
安装:sudo make install
安装完成之后会在/usr/local/netcdf4这个目录下生成三个文件lib include share
#3.安装szip (本次未安装)
#下载地址:ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4/
#解压 tar -zxvf slib-2.1.tar.gz
#配置安装信息:./configure --prefix=/usr/local/netcdf4
#编译:make
#检查:make check
#安装:make install
4.安装hdf5(基本同第二步)
下载地址:https://portal.hdfgroup.org/display/support/HDF5+1.12.0#files
解压 tar -zxvf hdf5-1.8.18.tar.gz
配置安装信息.
./configure --prefix=/usr/local/netcdf4 --with-zlib=/usr/local/netcdf4/
编译:make
检查:make check
安装:sudo make install
5.安装curl
地址: https://curl.se/download/
解压 tar -zxvf curl-7.70.0.tar.gz
配置安装信息:(选一个)
./configure --with-zlib=/usr/local/netcdf4 --prefix=/usr/local/netcdf4
CPPFLAGS=-I/usr/local/netcdf4/include LDFLAGS=-L/usr/local/netcdf4/lib ./configure --prefix=/usr/local/netcdf4
编译:make
检查:make check
安装:sudo make install
6.安装netcdf-c
下载地址 https://www.unidata.ucar.edu/software/netcdf/
解压 tar -zxvf netcdf-c-4.8.0.tar.gz
配置安装信息 CPPFLAGS=-I/usr/local/netcdf4/include LDFLAGS=-L/usr/local/netcdf4/lib ./configure --prefix=/usr/local/netcdf4 --disable-dap
注:sudo apt-get install m4 (如果提示没有m4的话,否则可以不执行)
编译:make
检查:make check
安装:sudo make install
7.安装netcdf-fortran
告知库文件位置.终端中输入:
export LD_LIBRARY_PATH=/usr/local/netcdf4/lib:${LD_LIBRARY_PATH}
解压tar -zxvf netcdf-fortran-4.5.3.tar.gz
配置安装信息(选一个)
CPPFLAGS=-I/usr/local/netcdf4/include LDFLAGS=-L/usr/local/netcdf4/lib ./configure --prefix=/usr/local/netcdf4 --disable-dap
CPPFLAGS=-I/usr/local/netcdf4/include LDFLAGS=-L/usr/local/netcdf4/lib ./configure -- prefix=/usr/local/netcdf4 CC=gcc FC=gfortran #可用gfortran或ifort,要与pycnal安装一致
编译:sudo make
检查:sudo make check
安装:sudo make install
8.环境变量
bashrc中添加
终端输入:sudo gedit ~/.bashrc
打开.bashrc文件后在最后添加
export NETCDF=/usr/local/netcdf4
export PATH=$NETCDF/bin:$PATH
export CPPFLAGS=-I/usr/local/netcdf4/include
export LDFLAGS=-L/usr/local/netcdf4/lib
export LD_LIBRARY_PATH=/usr/local/netcdf4/lib:${LD_LIBRARY_PATH}
添加完成
终端运行:source ~/.bashrc
完毕
测试:ncdump
源码包相关:
这种软件包里面都是源程序,没有编译过,经过编译后才能安装。
需要注意的是,make编译后里面文件会发生改变,如果想要重装建议删除文件夹重新解压再编译然后配置安装信息,不然可能会报错。
安装:
1)先解压并切换到文件夹
tar -zxvf ***.tar.gz
tar -jxvf ***.tar.bz(或bz2)
2)./configure #配置#
3)make #调用make#
4)make install #安装源代码#
5)make clean 删除安装时产生的临时文件
卸载:
1)进入安装时的目录
2)make uninstall #卸载#
注意:make install命令过程中的安装目录,或者阅读安装目录里面的readme文件,当然最好的办法是在安装的过程中指定安装目录,即在/configure命令后面加参数--prefix-/**,如:./configure --prefix=/usr/local/aaaa,即把软件装在/usr/local/路径的aaaa这个目录里。一般的软件的默认安装目录在/usr/local或者/opt里,可以到那里去找找。指定安装目录以后,当我们不需要这个软件时,直接删除软件的目录就行了。
参考:https://blog.csdn.net/weixin_27256197/article/details/116863420?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_utm_term~default-0.control&spm=1001.2101.3001.4242
https://www.cnblogs.com/gabriel-sun/p/12128386.html
https://www.cnblogs.com/fsquared/p/3804863.html