踩坑记录,看中文社区的文章来配环境简直就是掘shit… 失败了好多次,痛定思痛以后一定要直接去谷歌
全流程走过一遍没有问题,希望大家能少踩坑
参考文章:https://zhuanlan.zhihu.com/p/563570353
核心就是要把--prefix都装到一个目录下
fortran 安装
#检查是否已安装 gfortran
which gfortran
#如果没有任何返回内容,使用 APT 工具安装 gfortran
sudo apt install -y gfortran
#检查 gfortran 版本
gfortran --version
#由于 APT 源中可能根据系统版本不同提供的最新 gfortran 版本也不同,可以自定义添加源安装最新 gcc 10
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install gfortran-10
以下程序均在root权限下进行的安装。
进入root: sudo -s 然后输入密码
安装zlib
下载地址:http://www.zlib.net/
cd进入zlib所下载的文件夹后,解压 tar -zxvf zlib-1.2.12.tar.gz
进入zlib-1.2.12文件夹,配置安装信息:
./configure --prefix=/usr/local/netcdf4(usr文件夹创建是需要root或者sudo)
编译:make
检查:make check
安装:sudo make install
安装完成之后会在/usr/local/netcdf4这个目录下生成三个文件lib include share
安装slib
好像不用装也行,我是没有装,照样可以用
安装hdf5
下载地址:https://portal.hdfgroup.org/display/support/HDF5+1.12.0#files
解压 tar -zxvf hdf5-1.12.0.tar.gz
配置安装信息.
./configure --prefix=/usr/local/netcdf4 --with-zlib=/usr/local/netcdf4/
编译:make
检查:make check
安装:sudo make install
安装curl
地址: https://curl.se/download/
解压 tar -zxvf curl-7.85.0.tar.gz
安装curl
CPPFLAGS=-I/usr/local/netcdf4/include LDFLAGS=-L/usr/local/netcdf4/lib ./configure --prefix=/usr/local/netcdf4
如果出现报错就加上 --without-ssl
configure: error: select TLS backend(s) or disable TLS with --without-ssl.
CPPFLAGS=-I/usr/local/netcdf4/include LDFLAGS=-L/usr/local/netcdf4/lib ./configure --prefix=/usr/local/netcdf4 --without-ssl
CPPFLAGS=-I/usr/local/netcdf4/include:设置了 C 预处理器的选项-I
表示要包含的头文件路径
LDFLAGS=-L/usr/local/netcdf4/lib:设置了链接器的选项,-L
指定链接器要搜索库文件的路径
编译:make
检查:make check
安装:sudo make install
安装netcdf-c
下载地址 https://www.unidata.ucar.edu/software/netcdf/
这里我看评论区说4.8.0安装不太行,会出现这个错
configure: error: HDF5 was not built with API compatibility version v18. Please recompile your libhdf5 install using '--with-default-api-version=v18'.
我直接换成了4.9.2版本
解压 tar -zxvf netcdf-c-4.9.2.tar.gz
配置安装信息
CPPFLAGS=-I/usr/local/netcdf4/include LDFLAGS=-L/usr/local/netcdf4/lib ./configure --prefix=/usr/local/netcdf4 --disable-dap
我之前好像还报了一个xml的错,根据提示把参数加上好,但是换了一个服务器又没有这个错了,玄学…
原者注:sudo apt-get install m4
(如果提示没有m4的话,否则可以不执行。安装完成后,重新执行上一步配置安装信息。然后再进行编译。)
这个m4问题我没有遇到
编译:make
检查:make check
安装:sudo make install
安装netcdf-fortran
下载地址:https://downloads.unidata.ucar.edu/netcdf/
告知库文件位置.终端中输入:
export LD_LIBRARY_PATH=/usr/local/netcdf4/lib:${LD_LIBRARY_PATH}
解压tar -zxvf netcdf-fortran-4.9.0.tar.gz
CPPFLAGS=-I/usr/local/netcdf4/include LDFLAGS=-L/usr/local/netcdf4/lib ./configure --prefix=/usr/local/netcdf4 --disable-dap
编译:sudo make
检查:sudo make check
安装:sudo make install
环境变量
bashrc中添加
终端输入:vim ~/.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里,可以到那里去找找。指定安装目录以后,当我们不需要这个软件时,直接删除软件的目录就行了。