| 查看: 3135 | 回复: 6 | |||
zhangguangping木虫 (著名写手)
|
[交流]
Molpro2012.1p13在openSUSE 10.2上安装的曲折历程已有3人参与
|
|
————记录此文,以备忘。 WARNING:升级glic-2.7的惨痛教训:集群有很多台计算节点,节点的系统安装的都是一样的。因此,升级glibc2.7时在其中一台上编译一直到make install,升级成功。ssh到别的计算节点之后,到glibc2.7的目录下,直接执行make install安装。大部分节点都成功升级了。但是有2台节点失败了。出现segment fault,并且ssh立马断开了。再次ssh,显示ssh_exchange_identification: Connection closed by remote host。从此,再也没有登陆上这两台节点。到机器房登陆也登陆不进去。最后没办法重启节点,结果可想而知,重启失败。后来想到这两台节点的时间设置的是8年前的时间(由于某些软件的原因),这种节点我们还有一台。因此,去第三台这样的节点,先把系统时间修改成当下时间,然后make install,陈功升级glibc.因此,猜测上面两台机器升级glibc失败的原因是系统时间远远落后于glibc编译目录的时间。 前几天,需要将Molpro 2012.1.p13安装到小组的计算集群上。首先介绍一下集群的基本情况。管理节点node00安装是openSUSE 11.2 (SUSE Linux Enterprise Server 11.2),而所有的计算节点是openSUSE 10.2或者10.4 (SUSE Linux Enterprise Server 10.2 or 10.4)。不要喷我们的这种构架,因为集群购买先后顺序不一样,最后整合到一起使用,所以导致了这样的局面。 在这样的构架下,选择到计算节点编译molpro代码。不管用intel Compiler 11.1-072带的ifort icc以及icpc编译还是用gfortran和gcc编译,在计算节点上总是不能顺利congfigure完成。最后只能到node00节点上尝试编译。发现在node00节点上编译非常顺利。编译步骤如下(root用户): ===================== 1.配置环境变量 source /home/software/intel/Compiler/11.1/072/bin/ifortvars.sh intel64 source /home/software/intel/Compiler/11.1/072/bin/iccvars.sh intel64 2.解压压缩包 tar -zxvf molpro.2012.1.13.tar.gz 3.配置编译参数 cd Molpro ./configure -j 6 -icc -ifort -x86_64 -mpp -noblas -nolapack -auto-ga-openmpi 上述的参数含义,可以从Installation Guide Version 2012.1得到详细解释。 在运行上述命令之前,需要在$HOME下面建立.molpro目录存放token文件。 mkdir ~/.molpro 然后将token文件拷贝到该目录下。同时,安装过程需要下载openmpi-1.8和boost_1_55_0.tar.gz,如果机器不能联网,那么自己从网上下载openmpi-1.8.tar.gz和boost_1_55_0.tar.gz放到~/.molpro/cache目录下面。 4.编译代码 make -j 6 2>&1 | tee make.log 5. 安装编译文件 make install =========================== 到此为止,编译顺利完成。 测试:/home/software/molpro2012.1p13/molprop_2012_1_Linux_x86_64_i8/bin/molpro -n 2 -d ./ -W ./ form_freq.com 上述测试在node00上能够顺利完成。但是到计算节点进行上述测试,出现: /home/software/molpro2012.1.13/molprop_2012_1_Linux_x86_64_i8/src/openmpi-install/bin/mpirun: /lib64/libc.so.6: version `GLIBC_2.7' not found (required by /home/software/molpro2012.1.13/molprop_2012_1_Linux_x86_64_i8/src/openmpi-install/bin/mpirun) 然后ldd --version发现计算节点的glibc的版本是2.4. 没有办法,只能在计算节点安装glibc 2.7 安装glibc 2.7参考http://www.cnblogs.com/ivanfu/archive/2012/02/12/2348043.html 1.下载glibc 2.7 http://ftp.gnu.org/pub/gnu/glibc/glibc-2.7.tar.gz 2. tar zxvf glibc-2.7.tar.gz 3. mkdir glibc-build cd glibc-build 4. ../glibc-2.7/configure --prefix=/usr 5.make 6. make check 7. make install 其中第6步的make check很重要,最好确保所有的测试都通过。否则安装网上说的,glibc的升级很容易导致系统崩溃,那么升级就没有意义了,只能重装系统了。 到此为止,glibc 2.7安装好了,然后再测试molpro出现: /home/software/molpro2012.1p13/molprop_2012_1_Linux_x86_64_i8/bin/molpro.exe: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /home/software/molpro2012.1p13/molprop_2012_1_Linux_x86_64_i8/bin/molpro.exe) 执行strings /usr/lib/libstdc++.so.6 | grep GLIBC如下,就是没有GLIBCXX_3.4.9: GLIBCXX_3.4 GLIBCXX_3.4.1 GLIBCXX_3.4.2 GLIBCXX_3.4.3 GLIBCXX_3.4.4 GLIBCXX_3.4.5 GLIBCXX_3.4.6 GLIBCXX_3.4.7 GLIBCXX_3.4.8 GLIBC_2.0 GLIBC_2.3 GLIBC_2.4 GLIBC_2.3.4 GLIBC_2.1 GLIBC_2.1.3 GLIBC_2.2 GLIBCXX_FORCE_NEW GLIBCXX_DEBUG_MESSAGE_LENGTH 到网上一阵狂搜,几乎没有找到解决这个的办法。 按照http://jamesbond0479.blog.163.co ... 582010712104140781/提出的办法,从网上下载相应版本的libstdc++.so.6.10, rm /usr/lib64/libstdc++.so.6 ln -s /usr/lib64/libstdc++.so.6.0.10 /usr/lib64/libstdc++.so.6 rm /usr/lib/libstdc++.so.6 ln -s /usr/lib/libstdc++.so.6.0.10 /usr/lib/libstdc++.so.6 虽然可以解决 /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found的问题,可以使molpro能在计算节点上正常运行,但是后来你会发现,在计算节点上云去编译软件的时候,总是提示会提示: configure error c and c++ compilers are not link compatible. cannot continue 并且看具体原因是:/usr/lib64/gcc/x86_64-suse-linux/4.1.2/libstdc++.so: file not recognized: File format not recognized 因此,猜测是上面手动添加libstdc++.so.6.0.10导致,重新还原回去: rm /usr/lib64/libstdc++.so.6 ln -s /usr/lib64/libstdc++.so.6.0.8 /usr/lib64/libstdc++.so.6 rm /usr/lib/libstdc++.so.6 ln -s /usr/lib/libstdc++.so.6.0.8 /usr/lib/libstdc++.so.6 发现configure error c and c++ compilers are not link compatible. cannot continue的问题不再出现。因此,断定上述手动添加libstdc++.so.6.0.10的办法是不可靠的。这也正如http://liuzhigong.blog.163.com/blog/static/178272375201333155126/文中所提到的。 但是,由于当时没看到这个文档,所以没有按照该文档去升级glibc 2.7. 到目前为止,node00编译的molpro还是不能在计算节点运行。后来想到,原来计算节点不能编译molpro 2012是不是就是因为glibc版本过低的问题呢? 重新到升级好glibc 2.7的计算节点按照上述在node00的编译步骤,顺利编译通过。并且编译出来的可执行文件可以在node00成功计算,并且在升级好glibc 2.7的计算节点也能正常计算,不再出现version `GLIBCXX_3.4.9' not found的问题。 总结:molpro 2012.1.13的编译需要用到glibc 2.7,至少glibc 2.4是不能行的(glibc 2.5 glibc 2.6不清楚是否可以)。 最后奉上另外一个帖子:http://www.cppblog.com/sunicdavy/archive/2012/04/20/172108.html 帖子中提到解决此类问题的另外一个方法: 还有一种方法,使用静态链接. 将所有可执行文件文件依赖的静态库, 系统库,全部静态链接到可执行文件中,可以一次性解决这个问题 步骤: 1. 在gcc链接命令行中添加-static -static-libgcc -static-libstdc++ 2. 将第三方依赖库打开静态链接开关, 将原来链接.so的库,全改为链接.a 3. gcc对链接库顺序很敏感, 链接库顺序需要按照从前至后为: 项目产生的静态库 > 第三方库静态库 > 系统静态库 4. 链接时, 若有未解决的symbol, 可以尝试在最后添加-lpthread及-lrt解决 上述方法,没有去实践。因为对于一个较大的程序,步骤2较难实现。 [ Last edited by zhangguangping on 2014-6-27 at 16:41 ] |
» 猜你喜欢
085404(计算机技术)293分 希望调剂到材料相关专业
已经有2人回复
085404(计算机技术)293分 希望调剂到材料相关专业
已经有1人回复
物理化学论文润色/翻译怎么收费?
已经有208人回复
085404(计算机技术)293分 希望调剂到材料相关专业
已经有0人回复
汕头大学化学招调剂,相关内容如下。
已经有4人回复
已知面上挂了,小学校实验方向无平台,感觉太难了
已经有26人回复
求助各位大佬,球球了,在这科萨头
已经有0人回复
» 本主题相关价值贴推荐,对您同样有帮助:
MOLPRO 2012.1快速入门(中文版)
已经有76人回复
Multiwfn支持的弱相互作用的分析方法概览
已经有10人回复
molpro 说明书
已经有43人回复
molpro12 memory 问题
已经有3人回复
The problem occurs in zmatrix,molepro的错误提示
已经有2人回复
Molpro中MRCI级别参考系数的区别
已经有3人回复
Molpro 讲习班 2012年第一期
已经有3人回复
H2O的逐级电离能
已经有9人回复
molpro计算自旋轨道耦合输入求助
已经有3人回复
全国第二届理论与计算化学软件Molpro Molcas培训班
已经有19人回复

beefly
专家顾问 (职业作家)
地沟油冶炼专家
-

专家经验: +457 - QC强帖: 12
- 应助: 86 (初中生)
- 金币: 12735.4
- 散金: 27307
- 红花: 300
- 帖子: 4663
- 在线: 925.3小时
- 虫号: 408372
- 注册: 2007-06-21
- 性别: GG
- 专业: 理论和计算化学
- 管辖: 计算模拟

2楼2014-05-30 03:46:23
zhangguangping
木虫 (著名写手)
- 应助: 71 (初中生)
- 贵宾: 0.031
- 金币: 1973.1
- 散金: 9059
- 红花: 79
- 帖子: 2681
- 在线: 2128.8小时
- 虫号: 529624
- 注册: 2008-03-20
- 性别: GG
- 专业: 原子和分子物理
|
大牛光顾,蓬荜生辉啊。 普通用户也可以自己安装。 http://hi.baidu.com/bjfk1900/item/3e9c4db9e49967422bebe324 这个安装完毕后的配置,我没有看懂。最后没办法,直接用root冒着风险升级了。幸好,安装完毕后,系统没有崩溃。 |

3楼2014-05-30 05:41:44
4楼2014-05-31 15:28:11
zhangguangping
木虫 (著名写手)
- 应助: 71 (初中生)
- 贵宾: 0.031
- 金币: 1973.1
- 散金: 9059
- 红花: 79
- 帖子: 2681
- 在线: 2128.8小时
- 虫号: 529624
- 注册: 2008-03-20
- 性别: GG
- 专业: 原子和分子物理

5楼2014-05-31 16:54:31
bluewhale
铁杆木虫 (正式写手)
- 应助: 58 (初中生)
- 金币: 8438.3
- 散金: 50
- 红花: 10
- 帖子: 890
- 在线: 362.2小时
- 虫号: 278289
- 注册: 2006-09-10
- 专业: 凝聚态物性I:结构、力学和
6楼2014-06-01 15:25:01
zhangguangping
木虫 (著名写手)
- 应助: 71 (初中生)
- 贵宾: 0.031
- 金币: 1973.1
- 散金: 9059
- 红花: 79
- 帖子: 2681
- 在线: 2128.8小时
- 虫号: 529624
- 注册: 2008-03-20
- 性别: GG
- 专业: 原子和分子物理

7楼2014-06-02 23:34:12













回复此楼