首頁 > 軟體

GAMIT10.5安裝及更新失敗解決辦法

2020-06-16 17:46:10

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吧!


IT145.com E-mail:sddin#qq.com