部署前置工作
一、修改系统软件源,阿里的更全一点,以下以阿里源举例
1.1首先备份你当前的YUM源配置文件,以防需要恢复:
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
1.2下载阿里云的YUM源配置文件:
对于CentOS 7:
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
对于CentOS 8:
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
1.3清除缓存并生成新的缓存:
sudo yum clean all
sudo yum makecache
epel源【Extra Packages for Enterprise Linux】,部分软件需要第三方软件源,扩展相关软件安装源二、Hat配置
yum install epel-release
安装后更新仓库:yum update
三、安装gamit安装所需前置软件
3.1
sudo apt install gfortran make libx11-dev csh tcsh bc curl
centOS安装libX11
yum install libX11-devel --nogpg
ubuntu下X11的安装方法
apt install libx11-dev libxext-dev libxtst-dev libxrender-dev libxmu-dev libxmuu-dev
3.2 对应Ubuntu及centos安装命令yum或apt-get
yum install gcc gcc-c++ gcc-gfortran
yum install csh tcsh
yum install gfortran
yum install ncftp
yum install gmt
yum install make
yum install curl
上边是常见的几项软件,其他在安装过程中如果缺失会有明显报错,自己酌情补充安装。
# GAMIT size dependent variables (read by script 'redim' which edits the include files)
MAXSIT 90
MAXSAT 50
MAXATM 25
MAXEPC 2880
注意,这四个值如果设置的特别大时,会在编译GAMIT时,安装脚本会读取这些参数。然后,它会根据这些值去修改Fortran源代码中的头文件(include文件),将大型数组的维度(例如 real*8 satcrd(MAXSAT, MAXEPC, 3))具体化。数值设置得越大,程序编译后占用的内存就越多。
如果将这些值设置得过大,会导致程序的全局数据区(特别是Fortran的 COMMON块)变得非常庞大,可能超出编译器默认的寻址限制,从而引发 relocation truncated to fit的错误。这时就需要在编译时使用 -mcmodel=medium等选项。
ubantu22.04后安装过程可能报警
修改FFLAGS:在文件中找到定义FFLAGS(Fortran编译标志)的行。它的内容可能看起来像FFLAGS = -O2 -Wall ...。你需要在该行选项的末尾添加-fallow-argument-mismatch参数。例如:
FFLAGS = -O3 -Wuninitialized -fno-f2c -ffast-math -fno-automatic -fno-backslash -m64 -fallow-argument-mismatch
四、发送邮件获取gamit最新安装包或者自己网上找一个
五、解压压缩包并进入
六、对install_software及install_updates赋予可执行权限
七、使用install_software安装程序,按照提示y一直下一步就可以。安装过程中询问测站数等配置时可停止安装过程自己设置后,重新执行install_software
八、安装完成后会提示将PATH及HELP_DIR加入~/.bashrc,切记复制一下直接追加。然后退出重新连接或使用source命令加载一下bashrc就可以。
老版本的gamit安装包有很多乱七八糟的报错,推荐使用2022年12月之后的,同时安装时候可以升级最新的安装包,省去后期很多调试的麻烦。