centos7環境下編譯安裝gdal庫

1. 下載gdal源碼及編譯相關庫安裝:

1.1 gdal源代碼下載

http://trac.osgeo.org/gdal/wiki/DownloadSource

下載指定版本的gdal源碼壓縮包到當前位置:

wget http://download.osgeo.org/gdal/2.2.4/gdal-2.2.4.tar.gz

解壓gdal文件夾到當前路徑下

tar xvf gdal-2.2.4.tar.gz

1.2 安裝編譯需要的庫

進入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

默認安裝在/usr/local/路徑下,然後將geos相關的文件都拷貝到 /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

默認安裝在/usr/local/lib路徑下

2.3 libxml2(有可能系統已經安裝)

sudo yum install libxml2

sudo yum install libxml2-devel

安裝完成後,默認會安裝在/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

默認情況下庫文件會安裝在安裝文件所在目錄下\hdf4文件夾下,爲了防止找不到安裝後的庫文件路徑,可以在配置時指定安裝路

./configure --prefix=/usr/local

 

2.5 hdf5

參考hdf4的安裝

2.6 curl安裝

(也可yum install libcurl-devel直接安裝,如果前面步驟已經安裝則此步不再安裝)

安裝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有一些依賴庫,以及第三方擴展庫,需要在配置中指明依賴庫或第三方庫的路徑。

./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

關於如何獲取配置參數?

可以打開gdal存放路徑下的configure文件,在m4sh initialization中可以找到對應的參數,然後根據前面編譯的庫,指明庫所在路徑即可。或者輸入命令:./configure --help看看配置選項列表,會有對應的指定庫路徑的選項。

輸入./configure -help命令後顯示:

執行完配置後,在打印日誌的最後會輸出gdal配置的報告,yes表示gdal支持該庫或者功能,no表示不支持,internal表示內置。

由於GDAL對PROJ4庫是動態加載的,所以不需要進行特殊的修改就行,只要將PROJ的動態庫和gdal的動態庫放一起就好了。

 

注意:

./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會出現不支持的情況,

./configure --prefix=/usr/local/gdal224

沒有問題,默認情況下不需要指明geos的路徑,所以把它去掉就可以。

總之,以上配置的目的就是讓gdal找到外部庫的位置就ok了。如果配置了依賴庫的路徑,卻在配置結果中發現沒有被支持,就查看一下路徑是否正確,如果指明上級目錄沒有效,就直接把文件的路徑指明,就像curl一樣,多試幾次。

配置完成後,分別執行如下命令

3.2 編譯

sudo make

編譯,時間會比較久。

如果編譯過程中出現錯誤,記得make clean之後再make

3.3 安裝

sudo make install

官方編譯說明:

http://trac.osgeo.org/gdal/wiki/BuildHints

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章