macOS 编译安装

注意

ARM 架构的 Mac 安装 xquartz 需要到官网手动下载,Homebrew 安装的不能使用。

准备工作

首先要安装 macOS 下的命令行工具。在终端执行如下命令即可安装:

$ xcode-select --install

此外,还需要安装 X11 图形界面相关工具,即 XQuartz。可以按照 Apple的官方支持 来解决。Homebrew 用户可以使用如下命令安装:

$ brew install --cask xquartz

编译源码

小心

编译 SAC 时需要使用系统的软件包,但 Anaconda 的软件包和系统软件包存在冲突。所以,Anaconda 用户在编译时,需要临时注释 Anaconda 的环境变量设置。

按照如下命令即可正确编译源码。需要注意的是,由于 SAC 默认使用的 editline 库在 macOS 下无法正常编译,因而执行 configure 时使用了 --enable-readline 选项使得 SAC 使用 readline 库而不是 editline 库。

$ tar -xvf sac-102.0.tar.gz
$ cd sac-102.0
$ mkdir build
$ cd build
$ ../configure --prefix=/usr/local/sac
$ make
$ sudo make install

配置变量

~/.zshrc 中加入如下语句以配置环境变量和 SAC 全局变量:

export SACHOME=/usr/local/sac
export SACAUX=${SACHOME}/aux
export PATH=${SACHOME}/bin:${PATH}

export SAC_DISPLAY_COPYRIGHT=1
export SAC_PPK_LARGE_CROSSHAIRS=1
export SAC_USE_DATABASE=0

其中,

  • SACHOME 定义了 SAC 的安装目录

  • SACAUX 定义了 SAC 运行所需的辅助文件所在的目录

  • PATH 为 Linux 系统环境变量,使得系统可以正确找到SAC的可执行文件

  • SAC_DISPLAY_COPYRIGHT 用于控制是否在启动 SAC 时显示版本和版权信息,一般设置为1。在脚本中多次调用 SAC 时会重复显示版本和版权信息,干扰脚本的正常输出,因而在脚本中一般将其值设置为0。具体的设置方法可以参考 “脚本中调用 SAC” 中的相关内容

  • SAC_PPK_LARGE_CROSSHAIRS 用于控制震相拾取过程中光标的大小,在 震相拾取 时会用到

  • SAC_USE_DATABASE 用于控制是否允许将 SAC 格式转换为 GSE2.0 格式,一般用不到该特性,故而设置其值为0

修改完 ~/.zshrc 后,执行以下命令使配置的环境变量生效:

$ source ~/.zshrc

启动SAC

终端键入小写的 sac,显示如下则表示 SAC 安装成功:

$ sac
 SEISMIC ANALYSIS CODE [11/11/2013 (Version 101.6a)]
 Copyright 1995 Regents of the University of California

SAC>

现在,新版本的 macOS 系统在启动 sac 时,因为安全限制会拒绝启动 sac。可以在系统偏好设置的安全性与隐私中,通过输入密码或 Touch ID 选择仍然启动 sac。