劉璟博
從上世紀九十年代以來,GNSS技術(shù)廣泛應用于大地測量、地球動力學、工程測量領域、以及交叉學科GPS氣象學等,GPS靜態(tài)觀測數(shù)據(jù)的高精度后處理軟件受到了大地測量學界的廣泛重視,取得了長足進步。GAMIT解算精度高,提供免費使用且開放源代碼,可以滿足科學研究和精密工程測量等工作的需要。
雖然這方面的文章以前已有不少,但針對fedora系統(tǒng)的卻幾乎沒有,且隨著linux系統(tǒng)的更新和發(fā)展,前些年的安裝介紹文章已經(jīng)無法適用于近兩年新發(fā)布的操作系統(tǒng)版本以及新版本gamit軟件及gcc編譯器軟件了,且對gamit軟件安裝步驟的介紹往往存在不夠詳細和不夠準確的問題,筆者從2011年開始接觸gamit軟件,沒有采用如redhat9等老linux系統(tǒng),而是使用了代表linux系統(tǒng)最新發(fā)展成果的Fedora15/16/17系列操作系統(tǒng)。使用新的系統(tǒng)和軟件意味著一定會遇到之前可能沒有出現(xiàn)過的新問題,這需要我們進行探索和解決。
Fedora Linux/Unix操作系統(tǒng)是一種新銳而且成熟的Linux操作系統(tǒng),曾由RedHat公司支持現(xiàn)已完全獨立,平均每半年推出一個新的版本,包括預覽版、Beta版和正式版,2017年8月又推出了Fedora 26正式版,F(xiàn)edora新版Linux系統(tǒng)具有更新快、集成Linux系統(tǒng)最新前沿發(fā)展成果、集成主流電腦硬件驅(qū)動、集成眾多軟件功能包和圖形化桌面、可以直接讀寫FAT32及NTFS格式硬盤閃存盤、完全開源(OS)免費、適合開發(fā)者及科研人員使用等特點。
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這三個函數(shù)庫對應的4.2、2.3.1、0.8.0以上的版本,可以在gcc支持網(wǎng)站發(fā)布頁網(wǎng)址ftp://gcc.gnu.org/pub/上找到。
1.2.1 源代碼安裝支持庫函數(shù)
具體來說MPFR依賴GMP,MPC則依賴GMP和MPFR。所以三個庫函數(shù)的安裝順序為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目錄,三個庫函數(shù)的安裝均需要該命令項。
完成后該庫函數(shù)的編譯目錄下會新生成一個makefile文件,如若想要開始編譯,在終端依次輸入
Make;make check;make install
于是就完成了gmp的安裝。Mpfr、mpc的安裝命令形式差不多。后續(xù)命令要加入庫函數(shù)間的依賴關系代碼。
1.2.2 編譯安裝gcc-6.3.0
先建立一個編譯gcc的中間文件夾(可取任意名字),命令如下:
接著是命令:
make bootstrap和make install
這步make的時間會比較長,大概從四十分鐘到兩個小時之間,選擇安裝語言種類越多需時越長,新版本GCC的編譯時間可能會更長,與電腦配置也有一定關系。
接著是建立軟連接,并刪除原來版本的可執(zhí)行文件或?qū)⑵涓拿麄浞?,使用如下命令形式?/p>
# 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++編譯器當前版本很可能并無問題,所以最好使用系統(tǒng)原先自帶的,以避免出現(xiàn)一些難以預料和理解的錯誤。
1.2.3 驗證gfortran-6.3.0安裝是否成功
終端輸入命令gfortran –v,應出現(xiàn)以下行輸出結(jié)果:
[root@localhost ~]# gfortran -v
使用內(nèi)建 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編譯安裝成功,且系統(tǒng)默認使用gfortran-6.3.0版本,我們的目的達到了。當然,因為沒有改變gcc、g++和gcj的默認路徑,如果輸入gcc -v,g++ -v等命令,輸出結(jié)果仍然使用的是4.6.x版本。
這樣就算是大功告成了,之后再進行g(shù)amit的編譯安裝或解算處理數(shù)據(jù)使用的就是gfortran-6.3.0編譯器了。
2 安裝GAMIT10.x
依次在終端輸入運行以下命令:
dnf install tcsh; dnf install gmt; dnf install libX11*(bash下安裝)
Gamit軟件要求csh運行環(huán)境,以上步驟中已經(jīng)安裝了csh庫,所以運行命令 chsh
更改路徑(輸入)/bin/csh后重新啟動Fedora系統(tǒng),echo $SHELL,終端輸出/bin/csh,默認環(huán)境已經(jīng)更改,這說明tcsh成功安裝運行。
準備工作終于就緒,可以開始正式安裝gamit:
把gamit10.x源安裝文件夾拷貝到root根目錄或根目錄下的一個子文件夾,文件夾gamit10.x即為安裝文件夾。
要把文件夾中install_software的右鍵屬性設置為可以可執(zhí)行程序運行。
在終端進入安裝目錄(或把安裝目錄在終端打開),輸入
./install_software
使GAMIT的安裝程序腳本install_software啟動,會依次提示是否解壓各模塊的壓縮包,以及是否使用升級包(如果軟件源目錄中存在的話)等,如果沒有特別要求和需要參數(shù)設置為默認即可。GAMIT的升級包可以在其官方網(wǎng)站GAMIT-GLOBK Homepage中通過發(fā)郵件注冊申請的方式在其FTP資源服務器中獲得。
到最后一步會得到提示反饋:
確認之后,得到安裝完成的最后提示,至此高精度GPS數(shù)據(jù)后處理軟件GAMIT的安裝已經(jīng)完成。而后續(xù)使用中需要的大地測量和地球物理各分支學科產(chǎn)生的各種表文件,則可以從國際GNSS服務組織(International GNSS Service,IGS)及其合作單位或組織的網(wǎng)站或FTP服務器中獲得免費共享備份。
【參考文獻】
[1]GPS Analysis at MIT. GAMIT Reference Manual Release 10.6,2016.
[2]李征航,黃勸松.GPS測量與數(shù)據(jù)處理(第2版)[M].武漢大學出版社,2010.
[3]王志強,李軍.GAMIT使用指南[J].全球定位系統(tǒng),2002.
[4]孫建,王勇.GAMIT在工程測量方面的使用技巧[J].礦山測量,2006,3(1).
[責任編輯:朱麗娜]endprint