编译和安装
操作步骤

以下安装使用系统GCC,请勿加载GCC9.3环境。
- 使用PuTTY工具,以root用户登录服务器。
- 执行以下命令安装NCL及其依赖包。
yum install ncl.aarch64 ncl-common.noarch ncl-devel.aarch64 ncl-examples.noarch -y
- 执行以下命令设置环境变量。
export NCARG_FONTCAPS=/usr/lib64/ncarg/fontcaps export NCARG_GRAPHCAPS=/usr/lib64/ncarg/graphcaps export NCARG_ROOT=/usr export NCARG_DATABASE=/usr/lib64/ncarg/database export NCARG_LIB=/usr/lib64/ncarg export NCARG_NCARG=/usr/share/ncarg export EXTRA_CCOPTIONS=" -fsigned-char "$EXTRA_CCOPTIONS
- 执行以下命令验证程序。
ng4ex xy01n -W png
若NCL主程序报错(如下所示),则需要重新编译主程序。
- 执行以下命令下载NCL的RPM源码包“ncl-6.3.0-6.el7.src.rpm”。
yum install -y yum-utils yumdownloader --source ncl
- 执行以下命令重新编译NCL并解压NCL软件包。
rpm -ivh ncl-6.3.0-6.el7.src.rpm cd ~/rpmbuild/SOURCES tar zxvf ncl_ncarg-6.3.0.tar.gz
- 执行以下命令编辑“/libncarg_c/yMakefile”文件。
- 打开“/libncarg_c/yMakefile”文件。
vim ncl_ncarg-6.3.0/common/src/libncarg_c/yMakefile
- 按“i”进入编辑模式,修改第35行的内容。
#elif (defined(ia64) || defined(x86_64) || defined(amd64) || defined(aarch64))
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开“/libncarg_c/yMakefile”文件。
- 执行以下命令编辑“/nio/yMakefile”文件。
- 打开“/nio/yMakefile”文件。
vim ncl_ncarg-6.3.0/ni/src/lib/nio/yMakefile
- 按“i”进入编辑模式,修改第85行的内容。
#if defined(IRIX64) || defined(x86_64) || defined(__LP64__) || defined(aarch64)
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开“/nio/yMakefile”文件。
- 执行以下命令编辑“/ncl/yMakefile”文件。
- 打开“/ncl/yMakefile”文件。
vim ncl_ncarg-6.3.0/ni/src/ncl/yMakefile
- 按“i”进入编辑模式,修改如下内容。
- 修改第46行:
EXTRA_CCOPTIONS = -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fsigned-char
- 修改第113行:
#if defined(IRIX64) || defined(x86_64) || defined(ia64) || defined(__LP64__) || defined(aarch64)
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开“/ncl/yMakefile”文件。
- 执行以下命令删除原来的tar包,将修改过的源码打包。
rm -f ncl_ncarg-6.3.0.tar.gz tar zcvf ncl_ncarg-6.3.0.tar.gz ncl_ncarg-6.3.0 rm -rf ncl_ncarg-6.3.0
- 重新编译NCL。
- 执行以下命令进入“SPECS”目录。
cd ~/rpmbuild/SPECS
- 执行以下命令修改“ncl.spec”文件。
vim ncl.spec
- 按“i”进入编辑模式,在文件末尾添加以下内容。
%define __debug_install_post \ %{_rpmconfigdir}/find-debuginfo.sh %{?_find_debuginfo_opts} "%{_builddir}/%{?buildsubdir}"\ %{nil}
修改如下图所示。
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 执行以下命令进行打包编译。
rpmbuild -ba ncl.spec
若报错缺少依赖,根据提示依次Yum安装即可,如下所示。
yum install netcdf-fortran-devel hdf-static hdf-devel g2clib-static gdal-devel proj-devel imake libXaw-devel flex-static udunits2-devel
直到rpmbuild -ba ncl.spec可以成功执行。如下图中出现“exit 0”,则表明成功执行。
- 执行以下命令进入“SPECS”目录。
- 执行以下命令安装NCL(需先删除原先安装的NCL)。
yum erase ncl.aarch64 ncl-common.noarch ncl-devel.aarch64 ncl-examples.noarch -y
cd ~/rpmbuild/RPMS cp noarch/* aarch64/ cd aarch64 yum localinstall ncl-6.3.0-6.el7.aarch64.rpm ncl-common-6.3.0-6.el7.noarch.rpm ncl-debuginfo-6.3.0-6.el7.aarch64.rpm ncl-devel-6.3.0-6.el7.aarch64.rpm ncl-examples-6.3.0-6.el7.noarch.rpm -y