加载中…
个人资料
caiyuancfd
caiyuancfd
  • 博客等级:
  • 博客积分:0
  • 博客访问:7,181
  • 关注人气:7
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

集群GCC升级

(2012-04-21 09:00:59)
标签:

gcc

集群

杂谈

分类: 系统相关
二楼挫机器

目的:升级gfortran和openmpi
难点:每个节点上都要升级,可以每个节点上都按照一次,这样太费事,一时也找不到专门的做集群软件升级的工具;
解决方法:网上也没查到专门的方法,于是就准备试着将gcc与openmpi都装到共享目录下,因为这个目录对每个节点都共享,所以相当于给每个节点都装了软件,只要对每个节点配置一下环境变量即可;但是如果新版的gcc的库文件与老版的冲突这个方法就很难走通,还好貌似没有冲突。
 
系统     :SUSE Linux Enterprise Server 10.2 
gcc版本:4.1.2
升级到 :gcc4.6.3

GCC软件包
gcc-4.6.3.tar.gz
安装之前需要的软件请参考Prerequisites for GCC:
安装过程中出现提示说缺这缺那的都可以先在这里找,关键是要使用相应的版本。
安装软件的版本如果有明确说明选用哪个版本就直接使用指定版本,如果只说明要使用XX版本或者later,个人推荐使用高一点的版本比较好,低版本的可能会有很多没有解决的bug(这是linux很让人蛋疼的一个地方,platform太多了,出bug的概率也增加了,软件的手册也不可能面面俱到)
以及更完整的安装说明,后面的每个软件在安装之前阅读安装说明是必须的。凡是看到要指定安装软件目录的都要手动指定,或者需要某个软件的lib和include这个软件正好是刚装的也要指定一下目录。


下面六个前三个必装,后三个缺哪个装哪个
(下载的文件的压缩方式可能不尽相同,这个和最后的扩展名有关,一般gz就使用tar加z选项,bz2就使用bzip2 -d)
gmp-5.0.4.tar.bz2
mpc-0.8.2.tar.gz
mpfr-3.1.0.tar.bz2

ppl-0.12.1.tar.gz(需要gmp4.3.2,还要另外安装)
cloog-ppl-0.15.11.tar.gz
m4-1.4.12.tar.bz2

注意:这个安装说明是装完之后回忆写的,所以可能有些配置选项没有完全记清楚,所以所有软件安装之前都要仔细的阅读一下安装说明,一般都是INSTALL,gcc在INSTALL目录下,然后使用./configure -h查看帮助,再动手整。

一般NFS的共享目录都叫/export,新建安装目录:
mkdir /export/gcc4.6.3
mkdir /export/openmpi

配置环境变量:
vim /etc/profile
最后加入:
export PATH=/export/gcc4.6.3/bin:/export/openmpi/bin:$PATH
export LD_LIBRARY_PATH=/export/gcc4.6.3/lib:/export/openmpi/lib:$LD_LIBRARY_PATH
如果LD_LIBRARY_PATH是第一次设置,则最后的":$LD_LIBRARY_PATH"最好别加。

首先将所需软件拷贝到用户目录下,下面介绍安装方法

1 gmp-5.0.4.tar.bz2安装
   首先要看系统内是不是已经装了gmp,这里介绍使用rpm包安装的gmp查看方式
    rpm -qa | grep gmp
    有的话下面就会显示出来gmpXXXXXXX,网上都建议要删除,以免冲突
    rpm -e gmpXXXXXXX
    这应该是要将gmp安装在相同目录下才必须做的以免冲突,如果安装目录不同,后面安装其他软件时只要指定清楚路径应该就没有问题。实际操作时,我也没有删除老版本的gmp。

   解压缩: bzip2 -d gmp-5.0.4.tar.bz2 
   再解   : tar xvf gmp-5.0.4.tar(文件名可能不太一样,大概差不多)
   cd 进入目录,先运行./configure -h看看配置选项。
   ./configure --prefix=/export/gcc4.6.3 --enable-cxx --enable-mpbsd
   --enable-mpbsd这个选项是说要和什么库兼容,个人觉得可有可无,之前一直都用着,就暂时留下来。
   --enable-cxx意思是编译这个软件的时候使用c++,这个对大部分的安装都没什么影响,只有安装ppl时,会提示让编译gmp时使用c++,而且这个版本的gmp库文件ppl不认,这个问题后面再解决。
   然后make
   没有问题的话make check。不管装哪个软件这步出问题的概率最大,出问题之后要仔细阅读config.log文件,从中寻找问题。
   check通过后直接make install安装即可。

mpfr-3.1.0.tar.bz2安装
   这个软件低版本的好像有问题,最好装这个版本或者更高。
   同样的方法解压缩,进入目录。
   config的时候多加一个选项:
   ./configure --prefix=/export/gcc4.6.3 --with-gmp=/export/gcc4.6.3 --enable-cxx
   因为gmp没有安装在系统可以搜索到的目录下,所以要指定。然后
   make
   make check
   make install
   
mpc-0.8.2.tar.gz安装
   gcc4.6.3的prerequisite中说最低要mpc-0.8.1,搞了半天连make都不行,把问题放到google里面一搜,发现原来是源代码有bug(擦,还是windows好啊),改了代码make check又不行了,纠结了一段时间直接换成0.8.2版本,才搞定,配置选项更多一些:
   ./configure --prefix=/export/gcc4.6.3 --with-gmp=/export/gcc4.6.3 --with-mpfr=/export/gcc4.6.3
    make
    make check
    make install

ppl-0.12.1.tar.gz安装
   再前三个软件装好后,直接安装gcc然后提示要装ppl,于是又找了这货。
   装这个软件要指定gmp,在config的时候指定,结果新版本的gmp一直认不出来。最后只好又把好像是gmp4.3.2(这个在config的时候会提示)随便装了个目录,然后把gmp指向这个目录居然就好了,不知道ppl编译的时候是不是把这些库按静态库编译,是的话可能问题不大,不是的话这又是个隐患(没文化真是不行啊),反正是能用了,这块的配置选项为:
    ./configure --prefix=/export/gcc4.6.3 --with-gmp=/PATH to gmp4.3.2
    make
    make check
    make install

m4-1.4.12.tar.bz2安装
    忘了是gcc还是ppl安装需要了
    这货安装好像没什么大问题,就是make和make check的时候有warning,搞的这两个操作时间很长,后来直接把make check给Ctrl+C了,估计问题不大
    这个安装后会产生m4可执行文件,要用到,所以这个安装完之后一定要注意环境变量配置好。安装如下:
   ./cnofigure --prefix=/export/gcc4.6.3 
   make 
   make check
   make install

cloog-ppl-0.15.11.tar.gz安装
   这货是在编译gcc时提示的,最好从requisite里面的链接里下载
   安装也没什么大的问题
   ./configure --prefix=/export/gcc4.6.3 --with-gmp=/export/gcc4.6.3 --with-ppl=/export/gcc4.6.3
   make
   make check
   make install
 
7 autogen-5.11.5安装
   这个要选个版本高些的,低版本的有问题
   ./configure=/export/gcc4.6.3
   make 
   make check
   make install

8 gcc4.6.3安装
   需要的软件装好之后,gcc安装按照说明来就可以,autogen是在make check阶段提示安装
   ./configure --prefix=/export/gcc4.6.3 --with-gmp=/export/gcc4.6.3 --with-mpfr=/export/gcc4.6.3 --with-mpc=/export/gcc4.6.3 --with-ppl=/export/gcc4.6.3 --with-cloog=/export/gcc4.6.3
   make
   make check
   make install

9 openmpi-1.4.5安装
   ./configure --prefix=/export/openmpi CC=/export/gcc4.6.3/bin/gcc CXX=/export/gcc4.6.3/bin/g++(这貌似应该是c++,和g++的区别不知道。。。。)
F77=/export/gcc4.6.3/bin/gfortran F90=/export/gcc4.6.3/bin/gfortran
   make
   make check
   make install

10 最后需要配置一下每个节点的环境变量,/etc/profile,和主节点一样
   这个好像有脚本或者其他的工具,会比较容易操作,哥一个一个弄得,号称5个计算节点其实只有两个能用。。。

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有