登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 夏夜 于 2014-7-24 21:15 编辑
终于把nco安装成功。
对初学者,至少对我来说,Building NCO is not so easy.
用时四天,安装了nco和ncview,
尝试了n种方法问了n个人都不成功,在第四天将要放弃时,找到了最终的解决方案。其他痛苦的经历不多说,进入主题:
机器:
服务器(Linux red hat )
安装内容:
antlr-2.7.7
zlib-1.2.5
hdf5-1.8.6
udunits-2.1.20
netcdf-4.1.1
nco-4.0.6
安装过程:INSTALL_PATH=/usr/local mkdir -p $INSTALL_PATH/src # ANTLR2 APP=antlr-2.7.7 ANTLR_PATH=$INSTALL_PATH/$APP rm -rf $ANTLR_PATH cd $INSTALL_PATH/src rm -rf antlr-2.7.7* wgethttp://www.antlr2.org/download/antlr-2.7.7.tar.gz tar xzf antlr-2.7.7.tar.gz ; cd antlr-2.7.7 CC=gcc CXX='' ./configure \ --prefix=$ANTLR_PATH \ --disable-csharp \ --disable-java \ --disable-python 2>&1 | tee$APP.config make 2>&1 | tee $APP.make make install 2>&1 | tee $APP.install # UDUNITS APP=udunits-2.1.20 UDUNITS_PATH=$INSTALL_PATH/$APP rm -rf $UDUNITS_PATH cd $INSTALL_PATH/src rm -rf udunits-2.1.20* wgetftp://ftp.unidata.ucar.edu/pub/udunits/udunits-2.1.20.tar.gz tar xzf udunits-2.1.20.tar.gz ; cdudunits-2.1.20 CC=gcc CXX='' F77=gfortran ./configure \ --prefix=$UDUNITS_PATH 2>&1 | tee$APP.config make 2>&1 | tee $APP.make make install 2>&1 | tee $APP.install # ZLIB APP=zlib-1.2.5 ZLIB_PATH=$INSTALL_PATH/$APP rm -rf $ZLIB_PATH cd $INSTALL_PATH/src rm -rf zlib-1.2.5* wget http://zlib.net/zlib-1.2.5.tar.gz tar zxf zlib-1.2.5.tar.gz ; cd zlib-1.2.5 CC=gcc FC=gfortran CXX='' ./configure \ --prefix=$ZLIB_PATH | tee $APP.config make 2>&1 | tee $APP.make make install 2>&1 | tee $APP.install # HDF5 APP=hdf5-1.8.6 HDF5_PATH=$INSTALL_PATH/$APP rm -rf $HDF5_PATH cd $INSTALL_PATH/src rm -rf hdf5-1.8.6* wgethttp://www.hdfgroup.org/ftp/HDF5/hdf5-1.8.6/src/hdf5-1.8.6.tar.gz tar xzf hdf5-1.8.6.tar.gz ; cd hdf5-1.8.6 CC=gcc FC=gfortran CXX='' ./configure \ --prefix=$HDF5_PATH \ --enable-fortran \ --with-zlib=$ZLIB_PATH \ --with-pic 2>&1 | tee $APP.config make 2>&1 | tee $APP.make make install 2>&1 | tee $APP.install # NetCDF4 APP=netcdf-4.1.1 NETCDF4_PATH=$INSTALL_PATH/$APP rm -rf $NETCDF4_PATH cd $INSTALL_PATH/src rm -rf netcdf-4.1.1* wgethttp://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-4.1.1.tar.gz tar xzf netcdf-4.1.1.tar.gz ; cdnetcdf-4.1.1 CC=gcc FC=gfortran F77=gfortran CXX=''./configure \ --prefix=$NETCDF4_PATH \ --enable-fortran \ --enable-static \ --enable-shared\ --enable-f77 \ --disable-cxx \ --enable-netcdf4 \ --with-hdf5=$HDF5_PATH \ --with-zlib=$ZLIB_PATH \ --with-pic 2>&1 | tee $APP.config make 2>&1 | tee $APP.make make install 2>&1 | tee $APP.install # NCO APP=nco-4.0.6 NCO_PATH=$INSTALL_PATH/$APP rm -rf $NCO_PATH cd $INSTALL_PATH/src rm -rf nco-4.0.6* wgethttp://nco.sourceforge.net/src/nco-4.0.6.tar.gz tar xzf nco-4.0.6.tar.gz ; cd nco-4.0.6 exportLD_LIBRARY_PATH=$HDF5_PATH/lib:$LD_LIBRARY_PATH export PATH=$HDF5_PATH/bin:$PATH exportLD_LIBRARY_PATH=$NETCDF4_PATH/lib:$LD_LIBRARY_PATH export PATH=$NETCDF4_PATH/bin:$PATH exportLD_LIBRARY_PATH=$ANTLR_PATH/lib:$LD_LIBRARY_PATH export PATH=$ANTLR_PATH/bin:$PATH exportLD_LIBRARY_PATH=$UDUNITS_PATH/lib:$LD_LIBRARY_PATH export PATH=$UDUNITS_PATH/bin:$PATH exportLD_LIBRARY_PATH=$ZLIB_PATH/lib:$LD_LIBRARY_PATH export PATH=$ZLIB_PATH/bin:$PATH CC=gcc CXX='' \ NETCDF_INC=$NETCDF4_PATH/include \ NETCDF_LIB=$NETCDF4_PATH/lib \ NETCDF4_ROOT=$NETCDF4_PATH \ HDF5_LIB_DIR=$HDF5_PATH/lib \ UDUNITS2_PATH=$UDUNITS_PATH \ LDFLAGS="-L$ANTLR_PATH -lantlr \ -lhdf5_hl -lhdf5 -L$NETCDF4_PATH/lib-lnetcdf" \ CFLAGS="-I$HDF5_PATH/include \ -L$HDF5_PATH/lib \ -I$ANTLR_PATH/include \ -L$ANTLR_PATH/lib" \ CPPFLAGS="-I$HDF5_PATH/include \ -L$HDF5_PATH/lib \ -I$ANTLR_PATH/include \ -L$ANTLR_PATH/lib" \ ./configure \ --prefix=$NCO_PATH \ --disable-shared \ --enable-netcdf-4 2>&1 | tee$APP.config make 2>&1 | tee $APP.make make install 2>&1 | tee $APP.install
参照:http://sourceforge.net/p/nco/discussion/9830/thread/8e006deb
这是找到的最终解决方案的完整步骤,第一次安装之后在nco的bin目录下已经生成ncks等nco命令,但是不能使用。
以为没有安装成功,又安装一次,结果还是那样。
原来此时需要在该用户下的.bashrc文件后面添加PATH路径。
具体:
cd ~
vi .bashrc
添加:PATH=$PATH:/root/sw/nco-4.0.6/bin
. .bashrc
服务器不联网,wget那项是下载后上传至服务器的。
在第一步INSTALL_PATH=/usr/local,在这步指定了其他路径,事后证明这是个错误的决定。
因为我是用root用户登录的,/usr/local本身就是默认路径(自己未验证,请教老师得知),指定路径安装成功后,
会导致其他用户没有权限使用nco中的命令。
这个时候解决方法有两个:
1) 重装至默认路径下(没尝试)。
2) 在每个用户的.bashrc中添加上文所说的PATH。(已尝试,成功)
至此,nco已安装成功,并且每个用户都可以使用nco中的命令。
失败经验之一:
曾参考此贴:http://bbs.06climate.com/forum.p ... 5197&extra=&page=10
安装了zlib hdf5 netcdf4.2
这个安装过程是比较简便,一个命令就搞定了。
但是可能是我环境变量设置有误,在安装nco的时候提示找不到netcdf library...
具体出现的问题在我另一个帖子中 http://bbs.06climate.com/forum.php?mod=viewthread&tid=26996
后记:
对大牛们来说,安装这些软件都是小菜,
但是对我这样的对Linux系统了解仅限于cd ls等几个命令的渣渣来说简直太难了。
虽然耗时4天,但对linux的了解又多了一些。
多谢给我提供信息和帮助的大牛们。
最想说的是,坚持到不能再坚持的时候,再坚持一下下,可能就会有转机~
|