Linux 编译安装

安装依赖包

编译源码时需要安装若干软件包。

对于 Ubuntu/Debian:

$ sudo apt update
$ sudo apt install build-essential
$ sudo apt install libncurses5-dev libsm-dev libice-dev
$ sudo apt install libxpm-dev libx11-dev zlib1g-dev
$ sudo apt install libedit-dev libxml2-dev libcurl4-openssl-dev

对于 CentOS/Fedora/RHEL:

$ sudo yum install gcc gcc-c++ make
$ sudo yum install glibc ncurses-devel libSM-devel libICE-devel
$ sudo yum install libXpm-devel libX11-devel zlib-devel libedit-devel

编译源码

小心

Anaconda 内有软件包和系统软件包冲突。sac 编译的时候需要系统的软件包。所以,Anaconda 用户在编译时需要临时重命名 Anaconda 的路径。

将源码按如下命令解压、配置、编译、安装:

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

配置变量

~/.bashrc1中加入如下语句以配置环境变量和 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

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

$ source ~/.bashrc

启动SAC

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

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

SAC>
1

某些发行版需要修改 ~/.bash_profile

2

Ubuntu 的源里有一个名叫 sac 的软件,是用来显示登录账户的一些信息;CentOS 的源里也有一个名叫 sac 的软件,是 CSS 语法分析器的 Java 接口。所以一定不要试图用发行版自带的软件包管理器安装 sac!