编译和安装

操作步骤

  1. 使用PuTTY工具,以root用户登录服务器。
  2. 执行以下命令解压源码包并进入安装目录。

    tar xvf grads-2.2.1-src.tar.gz
    cd grads-2.2.1

  3. 执行以下命令进行配置。

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

    回显如下,表示配置成功。

  4. 执行以下命令拷贝编译所需文件。

    mkdir lib
    cp /path/to/libsx/lib/libsx.so ./lib
    mkdir include
    cp /path/to/libsx/include/libsx.h ./include

  5. 执行以下命令修改配置

    vim src/Makefile

    修改Makefile 398行LIBS的值。

    LIBS=-lm -lreadline

    修改Makefile 483行gui_libs的值。

    gui_libs = -L/path/to/libsx/lib -lsx  -lXext -lXaw -lXpm -lXmu -lXt
    vim src/grads.c

    修改grads.c文件, 修改第51行将static去掉。

    struct gacmn gcmn;
    vim src/gauser.c

    修改gauser.c文件, 修改第2815行。

    #if (USENETCDF == 1 || USEHDF == 1  || USEHDF5 ==1)

  6. 执行以下命令编译GrADS。

    make && make install

  7. 执行以下命令修改Makefile

    编译安装完成后,虽然安装过程中没有报错,但是实际运行grads会报错:grads: symbol lookup error: /path/to/grads/grads-2.2.1/lib/libgxdCairo.so: undefined symbol: gxdbkq

    原因是libgxdXXX.so没有链接上libgradspy.so, 因此需要链接上libgradspy.so。(但不能第一次编译就链接,因为当时还没有生成libgradspy.so)

    再次修改grads-2.2.1/src/Makefile文件,修改475行gd_ldflags的值。

    vim src/Makefile

    修改第475行gd_ldflags的值为以下内容。

    gd_ldflags= -L/path/to/grads/lib  -lgradspy

  8. 执行以下命令重新编译安装。

    make clean
    make && make install