GAMIT10.5安装及更新失败解决办法

1、针对目前比较流行的FedoraUbuntu两种Linux发行版,先附上Gamit10.5安装时的准备工作,默认你已获得root权限或为root用户。

 Fedora21   Ubuntu14.04  
yum install tcsh
yum install gcc
yum install gcc-gfortran
yum install libX11*
(bash下安装)
  apt-get install csh
apt-get install tcsh
apt-get install gfortran
(gcc自带)
apt-get install libx11-dev
 

2、更改shell为tcsh,命令为 chsh,改好后重启系统,并用命令 echo $SHELL 查询当前shell。
root@linuxidc:/home/ajie# chsh
Changing the login shell for root
Enter the new value, or press ENTER for the default
    Login Shell [/bin/bash]: /bin/tcsh
############# 重启 #############
linuxidc:/home/ajie# echo $SHELL
/bin/tcsh
以上为修改过程,最后显示 /bin/tcsh,即修改成功!Fedora可能会出现警告:chsh: Warning: "/bin/tcsh" is not listed in /etc/shells. 原因是/bin/tcsh不在/etc/shells文件里,普通用户会调用失败,root调用出现警告。
[root@linuxidc ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/usr/bin/tcsh ----->以/usr/bin/tcsh代替/bin/tcsh
/usr/bin/csh
3、修改配置文件Makefile.config,此为Gamit成功安装与否的关键!
①Gamit的更新包中更新了配置文件,名为Makefile.config.new,增加了f90.a的编译规则,此外增大了Linux发行版(Fedora和Ubuntu)的OS_ID范围,建议直接以Makefile.config.new替换原Makefile.config进行安装;
②自行修改MAXSAT,MAXATM,MAXEPC等参数,注意不要改的太大,否则可能造成某些模块(如solve)编译失败;
③关于X11的路径,Fedora不用修改,Gamit安装程序可自动搜索获得正确路径;Ubuntu须手动配置,通过find命令找到libX11*和Xlib.h的路径(X须为大写),并替换Makefile.config中的相应内容,重新安装;
linuxidc:/usr/include/X11# find / -name "libX11*"
/usr/lib/x86_64-linux-gnu/libX11.so.6
/usr/lib/x86_64-linux-gnu/libX11.a
/usr/lib/x86_64-linux-gnu/libX11.so
/usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
……
linuxidc:/usr/include/X11# find / -name "Xlib.h"
/usr/include/X11/Xlib.h
④对于x64系统,Linux块下的c.a的编译规则,改不改皆可成功安装,个人建议修改,改后的效果为
#CFLAGS = -g        (加注释符)
#### For 64-bit machines:
CFLAGS = -g -m64 -DADD64BIT        (删除注释符)
对于32位系统,要改两个地方:a.修改Linux块下的FFLAGS的参数-m64为-m32;b.修改/opt/gamit/gamit/solve/Makefile.generic文件中的-m64为-m32(x86系统未做测试,仅供参考)。

PS:对于先安装再更新的用户,尤其是安装时采用旧版Makefile.config时,可能出现arc模块编译失败,即使更新时换用Makefile.config.new,依然会出现同样的编译错误,解决办法参考3-①。
最后,good luck,赶紧升级你的Gamit吧!

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/15505.html