Ubuntu 操作系统安装 GAMIT

Ubuntu OS 无疑是目前最流行的 Linux 发行版,虽然网络上 Ubuntu 系统安装 GAMIT/GLOBK 软件的教程多如牛毛,但质量却良莠不齐。作者在此处进行整理,以供读者进行参考。我操作时所用的 Ubuntu 版本为 16.04 LTS,GAMIT/GLOBK 版本为 10.6。但是鉴于 GAMIT/GLOBK 程序安装方法一直无甚大变化,因此本安装流程也适用于 10.5、10.7 等版本,读者在参考时只需作少量变通即可。

提示:为了顺利执行本文提到的操作,你需要先了解 Linnux 系统的 sudocd 命令。需要在终端中输入的命令,在本文中以 “$” 字符开头,但操作时该字符不需要键入。

安装必要组件

在开始 GAMIT/GLOBK 软件的安装之前,需要首先安装 TC Shell 解释器、libX11-dev 图形开发库和 GNU-Fortran(gfortran)编译器。libX11-dev 是 GAMIT/GLOBK 所依赖的一个必要组件,而 GNU-Fortran 是一个开源的 Fortran 编译器,我们使用它来编译 GAMIT/GLOBK 源代码以生成可执行程序。

安装 TC Shell

Ubuntu 操作系统没有默认安装 C Shell 和 TC Shell 解释器,要运行 GAMIT/GLOBK 软件,这是必不可少的组件。因此我们首先安装 TC Shell 解释器。在终端中执行以下命令:

1
$ sudo apt-get install tcsh

安装 libx11-dev

在终端中执行下面的命令以安装 libx11-dev:

1
$ sudo apt-get install libx11-dev

安装 GNU-Fortran

在终端中执行下面的命令来安装 GNU-Fortran(gfortran):

1
$ sudo apt-get install gfortran

需要注意的是,gfortran 7 的一个 Bug 会导致编译 GAMIT 10.7 时出现错误,造成安装失败。因此如果你使用的操作系统基于 Ununtu 18.04 LTS 并且要编译 GAMIT 10.7,则不能安装其默认的 gfortran 7。可以使用如下命令安装 gfortran 6:

1
$ sudo apt-get install gfortran-6

然后使用如下命令创建指向 gfortran-6 的软链接:

1
2
$ cd /usr/bin
$ sudo ln -s gfortran-6 gfortran

安装 FTP 工具

FTP 客户端工具主要用于被 GAMIT 的数据下载脚本所调用,没有这个程序将无法使用数据下载脚本,执行下面的命令安装 FTP 客户端:

1
$ sudo apt-get install ftp

编译安装 GAMIT/GLOBK

为安装包分配权限

将解压之后的 GAMIT/GLOBK 程序安装包拷贝到你想安装至的位置,此处以 /opt 目录为例。

使用 cd 命令进入 /opt 目录,执行命令:

1
$ sudo chmod 755 -R gamit

该命令将为 gamit 文件夹下的文件分配可执行权限。

进行安装

进入 gamit 文件夹,执行安装脚本:

1
$ ./install_software

此时,GAMIT/GLOBK 程序已经开始进行编译之前的文件准备,之后程序会提示

Could not verify path to X11 libraries (libX11.*) from X11LIBPATH in libraries/Makefile.config
Perform a search for paths to X11 libraries and header files? (y/n)

这时,输入 n。打开 libraties 文件夹下的 Makefile.config 文件,找到

# Generic (will work on any system if links in place)
X11LIBPATH /usr/lib/X11
X11INCPATH /usr/include/X11

将其修改为

# Generic (will work on any system if links in place)
X11LIBPATH /usr/lib/
X11INCPATH /usr/include/

再找到:

MAXSIT 80
MAXSAT 32
MAXATM 13
MAXEPC 2880

此处是对 GAMIT 程序解算参数的配置,建议修改为

MAXSIT 80
MAXSAT 32
MAXATM 25
MAXEPC 2880

如果你安装的 GAMIT/GLOBK 程序是较早的版本(10.5 及更早),那么你还需要再找到

# —– for Linux from 0.0.1 to 3.9.5.3 – #
OS_ID Linux 0001 3953

将 “0001” 后面的4位数字(此处的是 3953)修改为你的 Linux 系统内核的版本号的前 4 位。查看系统的 Linux 内核版本可以使用命令:

1
$ uname -a

如我的电脑上显示

Linux ubuntu 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

那么我应该修改 Makefile.config 文件的对应部分为:

# —– for Linux from 0.0.1 to 3.9.5.3 – #
OS_ID Linux 0001 3130

更改以上内容之后,保存。重新执行:

1
$ ./install_software

之后的一切询问输入 y,安装成功之后会看到提示:

++++++++++++++++
GLOBK installed
++++++++++++++++

配置运行路径

为了在任何目录都能运行 GAMIT/GLOBK,需要将程序目录加入到系统的 PATH 变量中。环境变量配置方式依所使用的 Shell 有所不同。在终端内执行如下可以查看当前使用的 Shell:

1
$ echo $SHELL

对于 Bash 用户,打开主目录的 ~/.bashrc,在其中添加以下内容:

1
2
3
gg="/opt/gamit"
export PATH="$gg/gamit/bin:$gg/kf/bin:$gg/com:$PATH"
export HELP_DIR=$gg/help/

对于 C Shell 或 TC Shell 用户,打开主目录的 ~/.cshrc 文件,在底部添加以下内容:

1
2
3
set gg = /opt/gamit
setenv PATH "$gg/gamit/bin:$gg/kf/bin:$gg/com:$PATH"
setenv HELP_DIR $gg/help/

保存,退出。再执行命令:

1
$ source ~/.bashrc

1
$ source ~/.cshrc

至此,GAMIT/GLOBK 软件安装完成。你可以在终端下运行 doy 命令进行检验。另外,若要完整使用 GAMIT/GLOBK 软件的各项功能,如绘图等,你可能还需要安装 GhostscriptImageMagickGMT 等软件。