Fedora 操作系统安装Gamit详细过程
2017-10-09刘璟博
刘璟博
从上世纪九十年代以来,GNSS技术广泛应用于大地测量、地球动力学、工程测量领域、以及交叉学科GPS气象学等,GPS静态观测数据的高精度后处理软件受到了大地测量学界的广泛重视,取得了长足进步。GAMIT解算精度高,提供免费使用且开放源代码,可以满足科学研究和精密工程测量等工作的需要。
虽然这方面的文章以前已有不少,但针对fedora系统的却几乎没有,且随着linux系统的更新和发展,前些年的安装介绍文章已经无法适用于近两年新发布的操作系统版本以及新版本gamit软件及gcc编译器软件了,且对gamit软件安装步骤的介绍往往存在不够详细和不够准确的问题,笔者从2011年开始接触gamit软件,没有采用如redhat9等老linux系统,而是使用了代表linux系统最新发展成果的Fedora15/16/17系列操作系统。使用新的系统和软件意味着一定会遇到之前可能没有出现过的新问题,这需要我们进行探索和解决。
Fedora Linux/Unix操作系统是一种新锐而且成熟的Linux操作系统,曾由RedHat公司支持现已完全独立,平均每半年推出一个新的版本,包括预览版、Beta版和正式版,2017年8月又推出了Fedora 26正式版,Fedora新版Linux系统具有更新快、集成Linux系统最新前沿发展成果、集成主流电脑硬件驱动、集成众多软件功能包和图形化桌面、可以直接读写FAT32及NTFS格式硬盘闪存盘、完全开源(OS)免费、适合开发者及科研人员使用等特点。
Fedora的安装包格式是rpm格式。采用DNF软件管理器下载安装RPM包,dnf自动解决依赖关系,十分方便。
1 gcc(带gfortran)安装流程
Gamit软件需要gfortran编译器的支持,而gfortran则是gcc编译器的一个组成部分,可以说gcc安装成功与否将直接决定最后gamit能否真正安装成功和正常运行。而gcc的安装也是整个gamit安装中最复杂且耗时最久的一步。
1.1 yum命令自动安装最新版本gcc编译器
使用终端命令dnf install gcc,通过在线安装源安装当下默认版本。
1.2 源代码安装合适(较低)版本的gcc编译器
通过上段分析说明可知必须基于新版存在bug的gcc编译器来编译安装较低版本的gcc,我选择源代码安装的是gcc-6.3.0版本。
安装gcc需要GMP、MPFR、MPC这三个函数库对应的4.2、2.3.1、0.8.0以上的版本,可以在gcc支持网站发布页网址ftp://gcc.gnu.org/pub/上找到。
1.2.1 源代码安装支持库函数
具体来说MPFR依赖GMP,MPC则依赖GMP和MPFR。所以三个库函数的安装顺序为GMP,MPFR,MPC。我選用的成功组合为gmp-4.3.2,mpfr-3.0.0,mpc-0.9。
首先安装GMP。具体的命令形式如下:
../gmp-4.3.2/configure --prefix=/root/bin/gmp-4.3.2
其中prefix之后的代码说明了该库会被安装在何处,选择了/root/bin/gmp-4.3.2目录,三个库函数的安装均需要该命令项。
完成后该库函数的编译目录下会新生成一个makefile文件,如若想要开始编译,在终端依次输入
Make;make check;make install
于是就完成了gmp的安装。Mpfr、mpc的安装命令形式差不多。后续命令要加入库函数间的依赖关系代码。
1.2.2 编译安装gcc-6.3.0
先建立一个编译gcc的中间文件夹(可取任意名字),命令如下:
接着是命令:
make bootstrap和make install
这步make的时间会比较长,大概从四十分钟到两个小时之间,选择安装语言种类越多需时越长,新版本GCC的编译时间可能会更长,与电脑配置也有一定关系。
接着是建立软连接,并删除原来版本的可执行文件或将其改名备份,使用如下命令形式:
# rm /usr/bin/gcc
# ln -s /root/bin/gcc-6.3.0/bin/gcc /root/bin/gcc
# rm /usr/bin/gfortran
# ln -s /root/bin/gcc-6.3.0/bin/gfortran /root/bin/gfortran
…… …… ……
但是我们安装及使用gamit只需要较低版本的gfortran编译器,其他的如gcc、g++编译器当前版本很可能并无问题,所以最好使用系统原先自带的,以避免出现一些难以预料和理解的错误。
1.2.3 验证gfortran-6.3.0安装是否成功
终端输入命令gfortran –v,应出现以下行输出结果:
[root@localhost ~]# gfortran -v
使用内建 specs。
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/root/bin/gcc-6.3.0/libexec/gcc/i686-pc-linux-gnu/6.3.0/lto-wrapper
目标:i686-pc-linux-gnu
………………
线程模型:posix
gcc 版本 6.3.0 (GCC)endprint
则证明gcc-6.3.0编译安装成功,且系统默认使用gfortran-6.3.0版本,我们的目的达到了。当然,因为没有改变gcc、g++和gcj的默认路径,如果输入gcc -v,g++ -v等命令,输出结果仍然使用的是4.6.x版本。
这样就算是大功告成了,之后再进行gamit的编译安装或解算处理数据使用的就是gfortran-6.3.0编译器了。
2 安装GAMIT10.x
依次在终端输入运行以下命令:
dnf install tcsh; dnf install gmt; dnf install libX11*(bash下安装)
Gamit软件要求csh运行环境,以上步骤中已经安装了csh库,所以运行命令 chsh
更改路径(输入)/bin/csh后重新启动Fedora系统,echo $SHELL,终端输出/bin/csh,默认环境已经更改,这说明tcsh成功安装运行。
准备工作终于就绪,可以开始正式安装gamit:
把gamit10.x源安装文件夹拷贝到root根目录或根目录下的一个子文件夹,文件夹gamit10.x即为安装文件夹。
要把文件夹中install_software的右键属性设置为可以可执行程序运行。
在终端进入安装目录(或把安装目录在终端打开),输入
./install_software
使GAMIT的安装程序脚本install_software启动,会依次提示是否解压各模块的压缩包,以及是否使用升级包(如果软件源目录中存在的话)等,如果没有特别要求和需要参数设置为默认即可。GAMIT的升级包可以在其官方网站GAMIT-GLOBK Homepage中通过发邮件注册申请的方式在其FTP资源服务器中获得。
到最后一步会得到提示反馈:
确认之后,得到安装完成的最后提示,至此高精度GPS数据后处理软件GAMIT的安装已经完成。而后续使用中需要的大地测量和地球物理各分支学科产生的各种表文件,则可以从国际GNSS服务组织(International GNSS Service,IGS)及其合作单位或组织的网站或FTP服務器中获得免费共享备份。
【参考文献】
[1]GPS Analysis at MIT. GAMIT Reference Manual Release 10.6,2016.
[2]李征航,黄劝松.GPS测量与数据处理(第2版)[M].武汉大学出版社,2010.
[3]王志强,李军.GAMIT使用指南[J].全球定位系统,2002.
[4]孙建,王勇.GAMIT在工程测量方面的使用技巧[J].矿山测量,2006,3(1).
[责任编辑:朱丽娜]endprint