Windows 操作系统安装 GAMIT

在 Linux 虚拟机中使用 GAMIT/GLOBK 应该是大部分用户的现状。对于不甚熟悉 Linux 的用户而言,无论是通过虚拟化软件安装 Linux,还是安装双系统,都是不小的挑战。使用双系统或虚拟机的麻烦也是显而易见的,不仅占用更多的资源,并且,在 Windows 和 Linux 之间切换也是颇费工夫的事情。

本文通过 Windows 10 操作系统中提供的 Linux 子系统(Windows Subsystem for Linux, WSL) 功能成功地编译安装了 GAMIT/GLOBK 10.61,并记录下详细操作过程,希望可以对有兴趣的使用者有些参考意义。

何为 WSL

WSL 是 Windows 10 中提供的功能,你可以通过它在 Windows 中安装一个轻量级的 Linux 子系统。从而使用 Linux 的优秀工具,也方便调试 Linux 上运行的程序。在你决定安装该 WSL 之前,你应该首先知道,WSL 提供的是一个终端命令行交互的 Linux,如果你想运行 Linux 中的图形界面程序,目前 WSL 还无法帮到你。

在安装 WSL 时,我电脑的操作系统版本为 Windows 10 1903。

启用 WSL

打开 “控制面板”,进入 “程序”,点击 “启用或关闭 Windows 功能”,在弹出的程序界面中勾选 “适用于 Linux 的 Windows 子系统”。然后根据提示重启电脑。

重启计算机之后,在 Microsoft Store 中搜索 Linux 或 WSL,根据自己的需求安装 Linux 发行版。目前 WSL 已支持 DebianUbuntuopenSUSEKali 4 种 Linux 发行版。我选择了 Ubuntu,点击 “获取” 按钮开始下载应用,整个下载过程约数分钟。

下载完成后,可以在开始菜单看到 “Ubuntu”,单击图标开始安装。安装过程中根据提示设置用户名和密码。安装成功后,我使用 lsb_release -a 命令查看了系统版本号,显示安装的版本为 Ubuntu 18.04.2 LTS。当然,随着时间变化,你安装的 Linux 系统版本号可能稍有差别。

安装成功后,点击想应的图标即可进入 Linux 子系统,好像启动 Windows 的一个应用程序一样。你可以在其中安装和运行 Linux 的程序。如果你要使用 Windows 中的文件,可以在 /mnt 目录访问 Windows 系统的磁盘。

安装必要组件

现在可以开始 GAMIT/GLOBK 的安装,首先安装一些必要组件。

安装 TC Shell

GAMIT/GLOBK 的很多脚本都采用 C Shell 语言编写,要运行 GAMIT/GLOBK 软件,这是必不可少的组件。在 Ubuntu 子系统中执行以下命令安装 TC Shell 解释器:

1
$ sudo apt install tcsh

安装 libx11-dev

执行下面的命令以安装 libx11-dev:

1
$ sudo apt install libx11-dev

安装 GNU-Fortran

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

1
$ sudo apt install gfortran

安装 make

Ubuntu 子系统没有自带 make,我们需要该程序执行编译 GAMIT/GLOBK 的 makefile。执行下面的命令安装 make:

1
$ sudo apt install make

安装 GAMIT/GLOBK

为安装包分配权限

将 GAMIT/GLOBK 程序安装包(如 gamit/ 文件夹)拷贝到你想安装至的位置,此处以 /opt 目录为例。使用 cd 命令进入 /opt 目录,执行下面的命令为 gamit/ 文件夹下的文件分配可执行权限:

1
$ sudo chmod 755 -R gamit

进行安装

然后进入 gamit 文件夹开始安装,执行安装脚本:

1
$ ./install_software

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

Perform a search for paths to X11 libraries and header files?

这时,输入 y。程序开始搜索 X11 的安装目录,搜索完成后提示找到的 X11 的位置,继续输入 y。此后还会提示一些其他的参数,对我来说使用默认值已经足够了,之后的一切询问输入 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 命令进行检验。

补充

在 WSL 中安装 GAMIT/GLOBK 的过程与原生系统下完全一致。关于编译 GAMIT/GLOBK 过程中的详细参数,你可以参考本站博文 Ubuntu 操作系统安装 GAMIT