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。