本文的系統(tǒng)環(huán)境為centos7
1. 下載gdal源碼及編譯相關(guān)庫安裝:
1.1 gdal源代碼下載
http://trac.osgeo.org/gdal/wiki/DownloadSource
下載指定版本的gdal源碼壓縮包到當(dāng)前位置:
wget http://download.osgeo.org/gdal/2.2.4/gdal-2.2.4.tar.gz
解壓gdal文件夾到當(dāng)前路徑下
tar xvf gdal-2.2.4.tar.gz
1.2 安裝編譯需要的庫
進(jìn)入gdal文件夾
cd gdal-2.2.4
安裝編譯所需要的工具及庫
sudo yum install -y gcc make subversion gcc-c++ sqlite-devel libxml2-devel python-devel numpy swig expat-devel libcurl-devel
此時編譯工具、以及一些外部庫如sqlite馆揉,libxml2署照,libcurl-devel等被安裝揽浙。
2. 安裝其他外部庫
2.1 geos
wget http://download.osgeo.org/geos/geos-3.6.2.tar.bz2
tar xjf geos-3.6.2.tar.bz2
cd geos-3.6.2
./configure
sudo make
sudo make install
默認(rèn)安裝在/usr/local/路徑下羡忘,然后將geos相關(guān)的文件都拷貝到 /usr/local/lib文件夾下
2.2 proj4
wget http://download.osgeo.org/proj/proj-4.9.3.tar.gz
tar xvf proj-4.9.3.tar.gz
cd proj-4.9.3/
./configure
sudo make
sudo make install
默認(rèn)安裝在/usr/local/lib路徑下
2.3 libxml2(有可能系統(tǒng)已經(jīng)安裝)
sudo yum install libxml2
sudo yum install libxml2-devel
安裝完成后官边,默認(rèn)會安裝在/usr/lib64/路徑下
2.4 hdf4
https://support.hdfgroup.org/release4/obtainsrc.html#src
安裝說明
https://support.hdfgroup.org/ftp/HDF/HDF_Current/src/unpacked/release_notes/INSTALL
默認(rèn)情況下庫文件會安裝在安裝文件所在目錄下\hdf4文件夾下凤巨,為了防止找不到安裝后的庫文件路徑针炉,可以在配置時指定安裝路
徑
./configure --prefix=/usr/local
2.5 hdf5
參考hdf4的安裝
2.6 curl安裝
(也可yum install libcurl-devel直接安裝,如果前面步驟已經(jīng)安裝則此步不再安裝)
安裝curl-7.24.0 [curl-7.24.0]
下載地址:http://curl.haxx.se/download.html
mkdir /usr/lib64/curl7240
./configure --prefix=/usr/local/curl7240
sudo make
sudo make install
3 gdal 安裝
3.1 configure配置
由于gdal有一些依賴庫蚀苛,以及第三方擴(kuò)展庫在验,需要在配置中指明依賴庫或第三方庫的路徑。
./configure --prefix=/usr/local/gdal224 --with-hdf4=/usr/local/hdf4-213 --with-hdf5=/usr/local/hdf5-1101 --with-xml2=/usr/lib64 --with-curl=/usr/local/curl7620/bin/curl-config
注意:curl都是config的路徑堵未,如curl的config文件為curl-config
關(guān)于如何獲取配置參數(shù)腋舌?
可以打開gdal存放路徑下的configure文件,在m4sh initialization中可以找到對應(yīng)的參數(shù)渗蟹,然后根據(jù)前面編譯的庫块饺,指明庫所在路徑即可赞辩。或者輸入命令:./configure --help看看配置選項列表授艰,會有對應(yīng)的指定庫路徑的選項辨嗽。
輸入./configure -help命令后顯示:
執(zhí)行完配置后,在打印日志的最后會輸出gdal配置的報告淮腾,yes表示gdal支持該庫或者功能糟需,no表示不支持,internal表示內(nèi)置谷朝。
由于GDAL對PROJ4庫是動態(tài)加載的洲押,所以不需要進(jìn)行特殊的修改就行,只要將PROJ的動態(tài)庫和gdal的動態(tài)庫放一起就好了圆凰。
注意:
./configure --prefix=/usr/local/gdal224 --with-hdf4=/usr/local/hdf4-213 --with-hdf5=/usr/local/hdf5-1101 --with-xml2=/usr/lib64 --with-geos=/usr/local杈帐,
這種情況下geos會出現(xiàn)不支持的情況,
./configure --prefix=/usr/local/gdal224
沒有問題,默認(rèn)情況下不需要指明geos的路徑专钉,所以把它去掉就可以挑童。
總之,以上配置的目的就是讓gdal找到外部庫的位置就ok了跃须。如果配置了依賴庫的路徑站叼,卻在配置結(jié)果中發(fā)現(xiàn)沒有被支持,就查看一下路徑是否正確回怜,如果指明上級目錄沒有效大年,就直接把文件的路徑指明,就像curl一樣玉雾,多試幾次。
配置完成后轻要,分別執(zhí)行如下命令
3.2 編譯
sudo make
編譯复旬,時間會比較久。
如果編譯過程中出現(xiàn)錯誤冲泥,記得make clean之后再make
3.3 安裝
sudo make install
官方編譯說明: