作者: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 thisprogram you may initiate the installation procedure by typing:make Everything >& make-output &You can watch the output with:tail -f make-outputIf this is not your first installation attempt, and you simplymade some changes in the configuration, restart the process using:make All >>& make-output &This command does not erase object code that has alreadybeen compiled.Both of these commands run the installation procedurein the background, and you can track its progressby periodically examining the file "make-output" whilethe 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===================

转载于:https://www.cnblogs.com/sinsonglew/p/4750942.html

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

  1. [Mac OSX]+homebrew安装NCL(ncar command language)

    mac下尝试了很多种简单的方法,比如通过anaconda安装 conda install ncl 但是不行,没有osx下面的版本,尝试从ncl源码编译,时间太长, 尝试gcc源码编译,时间也很长. 因 ...

  2. 如何在NCL(The NCAR Command Language )启动时自动加载自定义的函数和程序

    首先任意建立一个目录存放自定义的程序,例如: $ mkdir ~/MyNCL 然后建立一个环境变量: export NCL_DEF_SCRIPTS_DIR="~/MyNCL" 然后 ...

  3. linux 科学数据处理,科学数据分析和可视化 NCAR Command Language(NCL)(气象数据处理)...

    NCL(The NCAR Command Language)是一种专门为科学数据处理以及数据可视化设计的高级语言,很适合用在气象数据的处理和可视化上.NCL包含了现代编程语言的许多常见功能:条件语句. ...

  4. Win10 64位安装NCL(NCAR Command Language)

    http://www.ncl.ucar.edu/Download/windows_linux_subsystem.shtml Install or updated to Windows 10 In o ...

  5. TCL(Tool   Command   Language)

    TCL(Tool   Command   Language)是一种解释执行的脚本语言.具有良好的跨平台特性和**可扩展性,TCL本身是用C语言实现的,可以很方便的通过C语言进行扩充,增加新的**命令, ...

  6. clean,compile,build,install,package区别

    clean: 执行该命令会删除项目路径下的target文件,但是不会删除本地的maven仓库已经生成的jar文件 compile:编译命令,只编译选定的目标,不管之前是否已经编译过,会在你的项目路径下 ...

  7. 【python】Install Certificates.command

    来源:Install Certificates.command · GitHub # install_certifi.py # # sample script to install or update ...

  8. mysql 运行 compile_install mysql by compile(通过编译安装mysql)

    install mysql by compile 1.1 安装cmake 因为编译安装mysal需要cmake所以先编译安装cmake,这里都一起下载下来 解压cmake,比如tar -zxvf cm ...

  9. python编译make_编译安装python3时make install出错

    本帖最后由 steve-303 于 2020-8-19 15:17 编辑 今天尝试编译安装python3.8.5,于是到官网下载了源码,之后直到make的一系列操作都很顺利,但是make instal ...

最新文章

  1. 基于指令和混合的前端通用埋点方案
  2. 编程之美-判断两个链表是否相交方法整理
  3. armv8/armv9的简介-学习这一篇就够了
  4. php中函数声明的方法,PHP中的函数声明与使用
  5. TCP/IP协议的TCP握手协议
  6. Spark Streaming 实战案例(二) Transformation操作
  7. Docker搭建NSQ实时分布式消息集群
  8. Devexpress xaf针对某个用户登录后在面板中设置导航无效的解决方法
  9. entitymanager_实体管理器的类型:应用程序管理的EntityManager
  10. 什么是社会性网络?什么是六度分隔理论?
  11. CentOS Linux安装telnet服务
  12. Java 图片验证码的实现和模拟简单的登录
  13. 【java虚拟机序列】java中的垃圾回收与内存分配策略
  14. html右侧客服代码,非常好看的jQuery网站右侧固定在线客服代码
  15. javascript手册安卓版_javascript手册
  16. matlab求解rl电路,matlab课程设计--RC串联电路与RL并联电路频率响应
  17. Python 彻底搞懂列表推导式|初级到进阶(实例30+)
  18. zblock 结构_结构方块 - Minecraft Wiki,最详细的官方我的世界百科
  19. BestSync多终端文件资料同步利器
  20. net:ERR_UPLOAD_FILE_CHANGED in Chrome

热门文章

  1. 销售易捐建小学图书角,点亮乡村的夜空
  2. 【通讯原理】Ch.5:模拟信号调制
  3. C++ STL::list常用操作及底层实现(中1)——实现list常用操作之插入(insert、push_front、push_back、splice)
  4. 《追风筝的人》谁能为你千千万万遍?
  5. 凯云科技——装备外场试验综合测试仪ETest_Tester
  6. 在Mac下安装nvm管理node 1
  7. cs224n笔记(一) Lecture1: word2vec算法详细解析
  8. 图像搜索引擎搭建 VP-Tree 以图搜图
  9. 区块链竞赛中国加速超越美国 迅雷链在自主创新上贡献了“4个第一”
  10. PEG功能化/修饰/偶联中空二氧化硅纳米球 PEG-Hollow SiO2 nanosphere