生活随笔
收集整理的這篇文章主要介紹了
从源码中编译安装gmt官方开发版(优先体验最新功能)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
gmt: generic mapping tools是一個通用繪圖工具,繪制曲線圖和地形圖、世界地圖或者區(qū)域地圖方面表現(xiàn)極其優(yōu)秀!這是地球科學(xué)領(lǐng)域享有盛名的繪圖工具,其安裝有兩種方式: (1)從官方發(fā)布的二進(jìn)制文件安裝; (2)從github倉庫直接clone,然后自己編譯安裝。 第二種方式的好處是可以保持與官方團(tuán)隊開發(fā)版同樣的更新度(比如現(xiàn)在官方發(fā)布的版本是5.X,從源碼安裝可以提前使用6.0版本的modern功能)并且可以自己二次開發(fā)加入自己想要的功能,比如修改官方版本中三維顯示的bug這篇文章。當(dāng)然了要想提前享受更新的功能和自己修改功能,必須要付出點代價了,就是安裝稍微有點點復(fù)雜。但是,所有的步驟都詳細(xì)的列在這里了,如果還是看不懂或者不想看,那就看下面的視頻,是我的操作錄屏!
視頻頻道:Youtube 根據(jù)gmt官方說明首先安裝所需的庫
前戲:安裝所需庫 cmake 下載 解壓:tar -zxvf cmake-3.13.0-rc1.tar.gz 配置:make build , cd build, ../configure --prefix=/usr/local make make install netcdf github倉庫
netCDF依賴庫 m4 安裝 sudo apt-get install m4
HDF5 下載 解壓:tar xvf hdf5-1.8.20.tar configure:mkdir build cd build ../configure --prefix=/usr/local make ... 等待 .... make install or sudo make install curl 因為編譯netcdf需要用到curl的源碼,我喜歡從源碼安裝。如果后面make netcdf的時候出現(xiàn)錯誤,可以嘗試將從apt-get安裝的curl卸載掉:sudo apt-get autoremove curl
下載 解壓:tar -zxvf curl-7.61.1.tar.gz config: mkdir build cd build ../configure --prefix=/usr/local make: make install: make install 此時如果再不提示缺什么庫的話,應(yīng)該會順利通過。如果缺什么庫,編譯過程中會提示缺什么,繼續(xù)安裝所缺庫即可
安裝netCDF 解壓: tar -zxvf netcdf-4.6.1.tar.gz mkdir build mkdir bin cd build ../configure --prefix=/usr/local 或者其他的什么你想安裝到的目錄 make ... 等待 ... make install GDAL 下載 解壓:tar -zxvf gdal-2.3.2.tar.gz config: cd gdal-2.3.2 ../configure --prefix=/usr/local 注意 :直接在主目錄下面配置和make,不要創(chuàng)建build目錄,不然會出現(xiàn)沒有make目標(biāo)的錯誤。 make: make 此過程等待時間非常長.... install: make install PCRE 下載 解壓:tar -zxvf pcre-8.42.tar.gz config: mkdir build cd build ../configure --prefix=/usr/local make: make install: make install 出現(xiàn)了幾個警告:libtool: warning: relinking 'libpcreposix.la', libtool: warning: relinking 'libpcrecpp.la'先不管
BLAS 下載 解壓:tar -zxvf blas-3.8.0.tgz 編譯生成libblas.so:gfortran -shared -O2 *.f -o libblas.so -fPIC 添加環(huán)境變量到~/.zshrc: export LIBPATH=/mnt/d/Research/gmt/library/BLAS-3.8.0/libblas.so:$LIBPATH LAPACK 下載 解壓:tar -zxvf lapack-3.8.0.tar.gz 拷貝make.inc:cp make.inc.example make.inc 添加 -fPIC到OPTS和NOOPT OPTS = -O2 -frecursive fPIC
DRVOPTS = $(OPTS)
NOOPT = -O0 -frecursive fPIC
修改lib名稱 BLASLIB = ../../librefblas.so
LAPACKLIB = liblapack.so
修改SRC/makefile 將 ../$(LAPACKLIB): $(ALLOBJ)$(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ)$(RANLIB) $@
改為
../$(LAPACKLIB): $(ALLOBJ)$(LOADER) $(LOADOPTS) -shared -Wl,-soname,liblapack.so -o $@ $(ALLOBJ) ../librefblas.so
修改BLAS/SRC/Makefile 將 $(BLASLIB): $(ALLOBJ)$(ARCH) $(ARCHFLAGS) $@ $(ALLOBJ)$(RANLIB) $@
改為
$(BLASLIB): $(ALLOBJ)$(LOADER) $(LOADOPTS) -z muldefs -shared -Wl,-soname,librefblas.so -o $@ $(ALLOBJ)
如果你沒有g(shù)77編譯器,請將第2步拷貝的make.inc文件中的兩個g77更換為你的fortran編譯器比如gfortran
make make blaslib
make lapacklib
添加環(huán)境變量: export LIBPATH=/mnt/d/Research/gmt/library/BLAS-3.8.0/libblas.so:/mnt/d/Research/gmt/library/lapack-3.8.0/liblapack.so:$LIBPATH 安裝OpenMP庫 sudo apt-get install libomp-dev
FFTW 下載 解壓:tar -zxvf fftw-3.3.8.tar.gz 配置:make build , cd build, ../configure --prefix=/usr/local make make install Ghostscript sudo apt-get update sudo apt-get install ghostscript
配置數(shù)據(jù) 下載
GSHHG DCW-GMT 設(shè)置路徑: 環(huán)境變量
GSHHG_PATH DCW_PATH 編譯gmt mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=RelWithDebInfo ..
make -j
保持與官方倉庫同步更新(針對二次開發(fā)者) 查看目前的遠(yuǎn)程倉庫地址:git remote -v 添加官方倉庫:git remote add upstream https://github.com/GenericMappingTools/gmt.git 其中upstream 是官方倉庫,orgin 是你fock之后存在你自己的github賬戶里的倉庫 拉取官方倉庫更新:git fetch upstream 切換到自己的分支,比如master:git checkout master 與官方更新合并:git merge upstream/master 修改遠(yuǎn)程push倉庫地址:git remote set-url origin xxxx.git 刪除遠(yuǎn)程倉庫地址:git remote rm origin 如果發(fā)現(xiàn)在終端不能直接用gmt命令,那是因為安裝了git的插件的原因。一般這個是由于on my zsh引起的,gmt這個詞被定義為了 alias g./home/zguo/.oh-my-zsh/plugins/git/git ,定義的文件為:/home/zguo/.oh-my-zsh/plugins/git/git.plugin.zsh,找到這個文件打開之后把這一行注釋掉,然后重新source一下或者重新打開一下終端就好了。
總結(jié)
以上是生活随笔 為你收集整理的从源码中编译安装gmt官方开发版(优先体验最新功能) 的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔 推薦給好友。