• How to compile and install NCAR Command Language on IBM PowerPC 64 --- NCL编译安装步骤


    作者:Sinsonglew 出处:http://www.cnblogs.com/sinsonglew 欢迎转载,也请保留这段声明。thanks :)

    注记:NCL官方依赖安装包全集列表、官方源码编译指导链接:http://www.ncl.ucar.edu/Download/build_from_src.shtml,以下安装步骤如有不明,请参见官网链接对应条目。

    1. NCL安装文件目录说明

        ncl6.0.0 安装目录:/usr/ncar/ncl_ncarg-6.0.0

        ncl编译依赖库压缩文件目录:/usr/ncar/NCL Dependent Libs_tar.gz

        ncl编译依赖库已build的文件目录:/usr/ncar/NCL Dependent Libs_builded

        ncl源代码已build的文件目录(含源代码压缩包):/usr/ncar/ncl

    2 NCL安装步骤

     

    2.1  配置环境变量

      配置环境变量之前:

        uname -m        //查看操作系统

        gcc --version      //查看编译器版本

      开始配置环境变量 , vi ~/.bashrc 在.bashrc文件中添加如下内容:

    1          export LDFLAGS='-m64'
    2 
    3          export CC=gcc
    4 
    5          export CFLAGS='-m64 -O2 -g  -mcpu=powerpc64 -fPIC'
    6 
    7          export CXXFLAGS='-m64 -O2 -g  -mcpu=powerpc64 -fPIC'

      配置完之后执行:source ~/.bashrc 刷新环境变量

    2.2 JPEG version-6b

    1     ./configure --prefix=/usr/ncar/ncl_ncarg-6.0.0
    2 
    3  
    4     make all install
    5 
    6     make install-lib
    7 
    8     make install-headers

    2.3 zlib version-1.2.6

             ./configure --prefix=/usr/ncar/ncl_ncarg-6.0.0

             make all install

    2.4 szip version-2.1

             ./configure --prefix=/usr/ncar/ncl_ncarg-6.0.0 --disable-shared

             make all install >& make-output

    2.5 hdf5 version-1.8.8

             ./configure --with-zlib=/usr/ncar/ncl_ncarg-6.0.0 --with-szlib=/usr/ncar/ncl_ncarg-6.0.0 --prefix=/usr/ncar/ncl_ncarg-6.0.0 --disable-shared

             make check install

    2.6 netcdf version-4.2

            CPPFLAGS=-I/usr/ncar/ncl_ncarg-6.0.0/include LDFLAGS=-L/usr/ncar/ncl_ncarg-6.0.0/lib

        ./configure --prefix=/usr/ncar/ncl_ncarg-6.0.0 --enable-netcdf-4 --disable-dap

            make check install

         注:man帮助文档 make时会报错, 可继续make install

    2.7 HDF-4 version-4.2.6

           ./configure  --prefix=/usr/ncar/ncl_ncarg-6.0.0 --with-zlib=/usr/ncar/ncl_ncarg-6.0.0 --with-jpeg=/usr/ncar/ncl_ncarg-6.0.0                   --includedir=/usr/ncar/ncl_ncarg-6.0.0/include/hdf-4 --disable-netcdf --disable-fortran

            make check install

    2.8 Jasper version-1.900.1

             ./configure --prefix=/usr/ncar/ncl_ncarg-6.0.0

             make check install

    2.9 GRIB2 version-1.2.1

         编辑makefile

         1)更改CC及CFLAGS,参见2.2.1节。

         2)DEFS行必须包含:"-DUSE_JPEG2000" and "-DUSE_PNG"

         3)64位操作系统,DEFS行必须包含"-D__64BIT__"

         4)把Jasper include 文件的路径加到"INC"行

          make all

          mv  libgrib2c.a  /usr/ncar/ncl_ncarg-6.0.0/lib

          cp  grib2.h  /usr/ncar/ncl_ncarg-6.0.0/include

    2.10 PROJ.4 version-4.7.0 (4.8.0 make报错)

             ./configure --prefix=/usr/ncar/ncl_ncarg-6.0.0 --enable-static=yes --enable-shared=no

             make check install

    2.11 libpng version-1.2.49

          ./configure  --with-pic --disable-shared --prefix=/usr/ncar/ncl_ncarg-6.0.0

          make check install

    2.12 GDAL version-1.9.0

             ./configure  --with-static-proj4=/usr/ncar/ncl_ncarg-6.0.0

       --prefix=/usr/ncar/ncl_ncarg-6.0.0 --without-pam

             --with-png=/usr/ncar/ncl_ncarg-6.0.0

       --with-gif=internal - -with-libtiff=internal

       --with-geotiff=internal  --with-jpeg=/usr/ncar/ncl_ncarg-6.0.0

         --with-libz=/usr/ncar/ncl_ncarg-6.0.0

             --with-sqlite3=no --with-expat=no --with-curl=no --without-ld-shared

             --with-hdf4=no --with-hdf5=no --with-pg=no --without-grib --disable-shared

             --with-freexl=no --with-geos=no --with-odbc=no

           make all install

    2.13 HDF-EOS 2 version-2.18v1.00

      编辑INSTALL-HDFEOS内容

       1) 429行 430分别改为

          echo 'LNX_COMP_FLAG="-m64"' >> hdfeos_env.ksh

              echo "LINUX_BRAND=linux64 # set LINUX for -64 mode" >> hdfeos_env.ksh

       2) 524行 535行分别改为

              echo 'setenv LNX_COMP_FLAG "-m64"'         >> hdfeos_env.csh

              echo "set LINUX_BRAND=linux64            # set LINUX for -32 mode" >> hdfeos_env.csh

       3) 1037行编译器设置,把原来的内容注释掉。

          CC="gcc -m64 "

          CFLAGS=" -O2 -g  -mcpu=powerpc64 -fPIC"

          LDFLAGS=" -m64 "

        Hdfeos的安装源代码目录假设为/usr/ncar/hdfeos/

        cd 到/usr/ncar/hdfeos/下,执行如下命令:

        bin/INSTALL-HDFEOS -i /usr/ncar/ncl_ncarg-6.0.0/include/hdf-4

        -l /usr/ncar/ncl_ncarg-6.0.0/lib

        -szi /usr/ncar/ncl_ncarg-6.0.0/include

        -szl /usr/ncar/ncl_ncarg-6.0.0/lib

        注:编译libhdfeos.a,再单独编译libGctp.a,一起复制到/usr/ncar/ncl_ncarg-6.0.0/lib下

        cp /usr/ncar/hdfeos/lib/linux/*.a  /usr/ncar/ncl_ncarg-6.0.0/lib

        cp /usr/ncar/hdfeos/include/*.h  /usr/ncar/ncl_ncarg-6.0.0/include/

    2.14 HDF-EOS 5 version-5.1.14

              ./configure  CC=/usr/ncar/ncl_ncarg-6.0.0/bin/h5cc

        --with-hdf5=/usr/ncar/ncl_ncarg-6.0.0  --with-zlib=/usr/ncar/ncl_ncarg-6.0.0

        --with-szlib=/usr/ncar/ncl_ncarg-6.0.0 --prefix=/usr/ncar/ncl_ncarg-6.0.0

             make check install

             cp  /usr/ncar/hdfeos5/include/HE5_GctpFunc.h /usr/ncar/hdfeos5/include/HE5_HdfEosDef.h /usr/ncar/ncl_ncarg-6.0.0/include/

    2.15 pkg-config version-0.25

             ./configure --prefix=/usr/ncar/ncl_ncarg-6.0.0

             make

             make check

             make install

          安装pkg-config成功后,编辑 .bashrc文件,加入以下内容:

              export PKG_CONFIG_PATH=/usr/ncar/ncl_ncarg-6.0.0/lib/pkgconfig

              export LD_LIBRARY_PATH=/usr/ncar/ncl_ncarg-6.0.0/cairo/lib

              export PATH=/usr/ncar/ncl_ncarg-6.0.0/bin:$PATH

          执行 source ~/.bashrc

    2.16 freetype version-2.4.9

         ./configure --prefix=/usr/ncar/ncl_ncarg-6.0.0

         make

         make install

    2.17 fontconfig version-2.9.0

         ./configure --sysconfdir=/usr/ncar/ncl_ncarg-6.0.0 --prefix=/usr/ncar/ncl_ncarg-6.0.0

          make

             make check

             make install

    2.18 pixman version-0.24.4

      ./configure --prefix=/usr/ncar/ncl_ncarg-6.0.0

         make

           make check

           make install

    2.19 expat version-2.1.0

      ./configure --prefix=/usr/ncar/ncl_ncarg-6.0.0

          make

          make check

          make install

    2.20 cario version-1.10.2

         ./configure --prefix=/usr/ncar/ncl_ncarg-6.0.0

         make

         make check

         make install

    2.21 Triangle software

             只把文件"triangle.c"、"triangle.h"复制到 $NCL/ni/src/lib/hlu目录下即可

           $NCL为下载的NCL源码存放路径,如/usr/ncar/NCL6.0.0

    2.22 udunits version-2.1.24

        export PERL=""

        ./configure --prefix=/usr/ncar/ncl_ncarg-6.0.0

        make check install

    2.23 vis5d+ version-1.3.0-beta

         注:需要更新配置文件config.guess config.sub,登陆ftp://ftp.gnu.org/pub/gnu/config/; 将文本内容复制更新下载vis5d+目录下地对应文件。

        ./configure  --prefix=/usr/ncar/ncl_ncarg-6.0.0 

            --with-netcdf=/usr/ncar/ncl_ncarg-6.0.0/lib/libnetcdf.a CPPFLAGS=-I/usr/ncar/ncl_ncarg-6.0.0/include

        --disable-fortran --disable-shared

            make check install

    2.24 Flex version-2.5.33

      注:/usr/lib/libfl.a是32位的会报错,而程序链接是64位的,所以自己编译64位的,该库可选编译。

      ./configure --prefix=/usr/ncar/ncl_ncarg-6.0.0

         make

         make check

         make install

    2.25 NCL6.0.0

      1) 执行配置,配置NCL的安装依赖库、include目录等

           cd到/usr/ncar/ncl/ncl_ncarg目录

           ./Configure  -v

      2) 把 "triangle.c"、"triangle.h"复制到 /usr/ncar/ncl/ncl_ncarg/ni/src/lib/hlu目录下即可,参见序号20,安装Triangle software

      3) 修改/usr/cipasWeb/ncl/ncl_ncarg/config目录下Template文件,替换LD、LD_REL两行内容为如下:

         /*LD            = LdCommand*/

         /*LD_REL   = LdRelCommand*/

         LD              =  ld -m elf64ppc

         LD_REL       =  ld -m elf64ppc

      4) 更改目录/usr/ncar/ncl/ncl_ncarg/ncarview/src/lib/libncarg_ras下

         hdf.c文件的头文件 hdf/hdf.h 为 hdf-4/hdf.h

         hdf.c文件的头文件 hdf/df.h 为 hdf-4/hdf.h

         hdf.c文件的头文件 hdf/dfgr.h 为 hdf-4/dfgr.h

      5) 更改目录/usr/ncar/ncl/ncl_ncarg/ni/src/ncl下

         NclHDF.c文件的头文件 hdf/mfhdf.h 为 hdf-4/mfhdf.h

         NclHDFEOS.c文件的头文件 hdf/mfhdf.h 为 hdf-4/mfhdf.h

         NclHDFEOS5.c文件的头文件 hdf/mfhdf.h 为 hdf-4/mfhdf.h

      6) 库配置文件:/usr/ncar/ncl/ncl_ncarg/config/Site.local下内容

         #define LibSearch -L/usr/lib64 -L/usr/ncar/ncl_ncarg-6.0.0

         #define IncSearch -I/usr/include/X11

         -I/usr/ncar/ncl_ncarg-6.0.0/include

         -I/usr/ncar/ncl_ncarg-6.0.0/include/freetype2

      7) 编辑/usr/cipasWeb/ncl/ncl_ncarg/config/LINUX下内容

         注释掉define ByteSwapped --->/*#define ByteSwapped*/

         删除#define StdDefines  -DSYSV -D_POSIX_SOURCE -D_XOPEN_SOURCE -DByteSwapped中此项-DByteSwapped

         在#StdDefines行中添加-DNGLONG2XINT选项

         #define StdDefines  -DSYSV -D_POSIX_SOURCE -D_XOPEN_SOURCE -DNGLONG2XINT

      8)进行安装

           cd到/usr/ncar/ncl/ncl_ncarg目录

           按下面英文说明进行安装

      /**********************************************************************/

      You have completed the configuration process. Once you exit this
    
            program you may initiate the installation procedure by typing:
    
                    make Everything >& make-output &
    
            You can watch the output with:
    
                    tail -f make-output
    
            If this is not your first installation attempt, and you simply
    
            made some changes in the configuration, restart the process using:
    
                    make All >>& make-output &
    
            This command does not erase object code that has already
    
            been compiled.
    
            Both of these commands run the installation procedure
    
            in the background, and you can track its progress
    
            by periodically examining the file "make-output" while
    
            the installation proceeds.

      9) 检查make是否出错

            打开make-output文件,搜索"Error",看是否有make error. 如有error,检查以上 1-7 项是否配置正确。

    2.26 NCL安装后配置环境变量

         vi ~/.bashrc  在bashrc文件中添加如下环境变量

         export NCARG_ROOT=/usr/cipasWeb/ncl_ncarg-6.0.0

       export PATH=$NCARG_ROOT/bin:$PATH

         export NCARG_FONTCAPS=$NCARG_ROOT/lib/ncarg/fontcaps

         export NCARG_GRAPHCAPS=$NCARG_ROOT/lib/ncarg/graphcaps

       export NCARG_LIB=$NCARG_ROOT/lib

       添加完毕后执行命令 source ~/.bashrc

    2.27 NCL 绘图环境初始化配置

      在用户目录下创建 .hluresfile文件,将如下内容粘贴到.hluresfile文件中,具体该文件的说明参见:http://www.ncl.ucar.edu/Document/Graphics/hlures.shtml

       

             !=========================================
    
             ! This is a sample .hluresfile. It should
    
             ! go in your home directory.
    
             !
    
             ! Comments for ".res" files are preceded by a "!".
    
             ! Remember quotations are not used in .res files.
     
    
             ! White background/black foreground, these are the default in V6.1.0
    
             *wkForegroundColor  : (/0.,0.,0./)
    
             *wkBackgroundColor  : (/1.,1.,1./)
    
    
             ! Have a favorite colormap that you use for everything? You can
    
             ! make it your default here (note the name is NOT in quotes).
    
             !
    
             ! In Version 6.1.0, the default is "ncl_default":
    
             ! http://www.ncl.ucar.edu/Document/Graphics/ColorTables/ncl_default.shtml
    
             !
    
             ! For all available color maps, see
    
             ! http://www.ncl.ucar.edu/Document/Graphics/color_table_gallery.shtml
    
             *wkColorMap         : BlueWhiteOrangeRed
    
     
             ! Font - this is the default in V6.1.0.
    
             ! Use times-roman to get the pre-V6.1.0 default.
    
             *Font           : helvetica
    
    
             ! Function Codes [Default is a colon]
    
             *TextFuncCode               : ~    
    
    
             ! Make default X11 window larger (adjust as necessary)
    
             *wkWidth                     : 800
    
             *wkHeight                    : 800
    
    
             ! Increase the default (16mb) contour memory
    
             ! For example, if you have gridded data that
    
             ! is larger than 500 x 500, you may need this.
    
             *wsMaximumSize: 32556688
    
             !==========================================

    2.27 NCL 安装后测试

         测试的时候注意启动XSERVER

         export DISPLAY=localhost:10.0

         测试XSERVER命令: xclock

         测试NCL

             ng4ex gsun01n

             ncl gsun01n.ncl

         测试NCARG

             ncargex cpex08

             ctrans -d X11 cpex08.ncgm

    =================THE END, GOOD LUCK===================

  • 相关阅读:
    【Git】为GitHub添加ssh配置
    【Linux】cmake编译指定 gcc/g++
    【Git】提交历史查看
    【AFL(十五)】LAVA-M服务器篇
    Docker实用技巧(五):查看容器占用磁盘大小
    Docker实用技巧(四):限制cpu数量
    【AFL(十四)】afl-plot 使用详解
    【AFL(十三)】afl-whatsup 使用详解
    Docker实用技巧(三):容器与主机之间的端口映射
    【AFL(十二)】make文件管理
  • 原文地址:https://www.cnblogs.com/sinsonglew/p/4750942.html
Copyright © 2020-2023  润新知