开发者
Kylin V10上使用gcc10.3.1软件栈编译GRADS-2.2.1遇到的问题及解决办法
Kylin V10上使用gcc10.3.1软件栈编译GRADS-2.2.1遇到的问题及解决办法
发表于2023/08/15
1.2k4

【背景&问题描述】用户反映在运行GRADS的过程中,使用sdfopen、shp命令时提示命令缺失。

grads2.JPG

【根因分析】

命令缺失,判断为部署的GRADS功能不全,即GRADS在编译配置时未开启相关的功能,需重新功能完备的GRADS。

【解决办法】

以下是在KylinOS下,进行部署GRADS的主要依赖的过程。

1、yum安装的依赖

yum install -y gd-devel expat-devel netcdf-devel hdf-devel hdf5-devel geotiff jasper jasper-devel cairo cairo-devel

2、源码部署的依赖

请先知悉,常规编译步骤:

①解压源码并进入源码目录

②./configure --prefix=/path/to/XX 

③make

④make install

1)uduntis

获取源码:https://artifacts.unidata.ucar.edu/repository/downloads-udunits/2.2.28/udunits-2.2.28.tar.gz

①修改makefile:在第22行后添加-I/usr/include/jasper

②进行常规编译+设置lib库文件的软连接。

③进入到依赖的安装目录lib下,执行以下命令。

ln -s libudunits2.so.0.1.0 libudunits.so

查看显示如下,代表设置成功。

grads3.JPG

2)shp

获取源码: https://sourceforge.net/projects/opengrads/files/supplibs/2.2.1/supplibs-2.2.1.tar.gz

①解压源码包。

tar -xvf supplibs-2.2.1.tar.gz

②进入shp目录。

cd supplibs-2.2.1/src/shp

③修改GNUmakefile。

第16行添加-fPIC -shared 

grads4.JPG

第22、23行添加 

$(CC) $(CFLAGS) shpopen.o dbfopen.o -o libshp.so 

chmod +x libshp.so 

grads5.JPG

make clean

make && make install
 编译完成会在当前目录下生成.so链接库、头文件,可按需进行拷贝使用。

3)grib2c

获取源码:git clone https://gitee.com/linruoxuan/g2clib-image.git

修改当前环境下的jasper/jas_image.h,取消第221行注释。

修改前:

grads6.JPG

修改后:

grads6.1JPG.JPG

make all

4)libpng

获取源码:https://zenlayer.dl.sourceforge.net/project/libpng/libpng15/1.5.30/libpng-1.5.30.tar.gz

解压源码并进入源码目录

./configure --prefix=/path/to/libpng  --build=aarch64-unknown-linux
make -j
make install

5)主程序

源码获取&修改请参考:https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/prtg-osc/centos_kunpeng_grads_221_02_0010.html

./configure --prefix=/path/to/grads CPPFLAGS="-I/path/to/shp/include -I/path/to/grib2/include -I/path/to/libsx/include -I/path/to/libpng/include -I/path/to/udunits/include -I/usr/include/hdf" LDFLAGS="-L/path/to/shp/lib -lshp -L/path/to/grib2/lib -lgrib2c -L/path/to/libsx/lib -L/path/to/libpng/lib -L/path/to/udunits/lib -ludunits -L/usr/lib64/hdf -lmfhdf -ldf"

说明:此配置选项中,/path/to/为举例路径,实际部署请以实际文件路径为准。

配置回显NETCDF4、SHAPAFILE到功能enable即代表配置完成。

grads7.JPG

make clean
make
make install

注意:需编译两遍,具体编译操作请参考https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/prtg-osc/centos_kunpeng_grads_221_02_0010.html

【功能测试验证】

grads8.JPG

回显无异常,代表程序运行正常

收藏举报
Level 1
0
帖子
0
粉丝
0
获赞