星期日, 3月 16, 2014

編譯gmt5

終於,只能裝GMT5了,新版的建議用 yum 安裝,但習慣自己編譯,所以
先裝必要套件,這類套件在 epel 裏都有,要先裝epel
yum install cmake28 netcdf-devel gdal-devel
註:不知道我在堅持什麼,gmt5也在裏面,怎不直接就裝了…
svn checkout svn://gmtserver.soest.hawaii.edu/gmt5/trunk gmt5-dev
下載岸線 gshhg-gmt-2.3.2.tar.gz 放在gmt5-dev裏
tar zxvf gshhg-gmt-2.3.2.tar.gz 會得到gshhg-gmt-2.3.2資料夾,這個路徑要設定在下面中
注意版本也許有更新。
下載 dcw-gmt-1.1.1.tar.gz,並tar zxvf dcw-gmt-1.1.1.tar.gz
#複製 cmake/ConfigUserTemplate.cmake 檔案一份成為 cmake/ConfigUser.cmake
cd cmake
cp ConfigUserTemplate.cmake ConfigUser.cmake
#編輯 cmake/ConfigUser.cmake
vi ConfigUser.cmake
set (CMAKE_INSTALL_PREFIX "/usr/local/gmt5/")
set (NETCDF_ROOT "/usr/bin")  
set (GSHHG_ROOT "/home/cmd/gmt5-dev/gshhg-gmt-2.3.2") 
set (COPY_GSHHG TRUE)
set (DCW_ROOT "/home/cmd/gmt5-dev/dcw-gmt-1.1.1")
set (COPY_DCW TRUE)

# 因為我有自己編譯netcdf,seadas也有自行編譯的一份,而我們還用yum裝了一份
# 想想還是用系統裝的,所以這裏要設定好要用哪一個版本
# 注意1 ConfigUserTemplate.cmake 一定要複製一份成為ConfigUser.cmake,改變才有效
# 注意2 我習慣更動ConfigUser.cmake後會把build裏的東西清空再重做cmake28 ..
cd gmt5-dev
mkdir build
cd build
cmake28 ..
#注意看看是否下列都有出現(節錄,不是整段一樣)
#-- Found DCW: /home/cmd/gmt5-dev/dcw-gmt-1.1.1  
#*  Found GSHHG database       : /home/cmd/gmt5-dev/gshhg-gmt-2.3.0 (2.3.0)
#*  NetCDF library             : /usr/lib64/libnetcdf.so
#*  NetCDF include dir         : /usr/include

make
make install # make install 注意CMAKE_INSTALL_PREFIX 的路徑是否有權限,不然就用root執行

沒有留言: