1. 程式人生 > 實用技巧 >centos7.5安裝gdal編譯環境

centos7.5安裝gdal編譯環境

  • 安裝準備的環境:
名稱 型別與版本 軟體連線
伺服器 linux-centos7.5
jdk 1.8.0_25
ant 1.9.14 http://mirror.bit.edu.cn/apache//ant/binaries/apache-ant-1.9.14-bin.tar.gz
pcre 8.43 https://jaist.dl.sourceforge.net/project/pcre/pcre/8.43/pcre-8.43.tar.gz
swig 2.0.9 https://excellmedia.dl.sourceforge.net/project/swig/swig/swig-2.0.9/swig-2.0.9.tar.gz
proj 6.0.0 http://download.osgeo.org/proj/proj-6.0.0.tar.gz
geos 3.7.2 http://trac.osgeo.org/geos
gdal 3.0.0 https://github.com/OSGeo/gdal/releases
  • 安裝流程
    • 建立資料夾將上述安裝包上傳到伺服器
      • mkdir /export/software/ -p
        cd /export/software/
    • 安裝gcc-c++環境
      • # 首先檢視當前伺服器中是否存在gcc環境
            cd /usr/bin 
        # 如果有gcc,g++,則存在,如果沒有,用下面命令安裝
            yum install 
        -y gcc-c++
    • 安裝jdk
      • # 下載解壓即可
            將jAVA_HOME PATH CLASSPATH配置全,注意CLASSPATH前面有.:
        配置環境變數:
        vim /etc/profile
        
        #JAVA_HOME
        export JAVA_HOME=/home/console/jdk1.8.0_111
        export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
        export PATH=$JAVA_HOME/bin:$PATH
        
        修改之後儲存
        注意source /etc/profile
    • 安裝ant
      • # 下載解壓即可
        tar 
        -zxvf apache-ant-1.9.14-bin.tar.gz -C /home/gdal/ 配置環境變數: vim /etc/profile #ANT_HOME export ANT_HOME=/home/gdal/apache-ant-1.9.14 export PATH=$PATH:$ANT_HOME/bin 修改之後儲存 注意source /etc/profile ant -version 測試ant是否生效
    • 安裝pcre
      • # 解壓後進入根目錄進行
        tar -zxvf pcre-8.43.tar.gz -C /home/gdal/
        ./configure --enable-utf8 (如果沒有gcc-c++可能會編譯失敗)
        make
        make check
        make install
    • 安裝swig
      • # 解壓後進入根目錄進行
            tar -zxvf swig-2.0.9.tar.gz -C /home/gdal/
            mv swig-2.0.9 swig-2.0.9_Install
            再次在swig中進行
            cd swig-2.0.9_Install
            ./configure --prefix=/home/gdal/swig-2.0.9
            make && make install
        配置環境變數:
        vim /etc/profile
        
        #swig
        export SWIG_HOME=/home/gdal/swig-2.0.9
        export PATH=$JAVA_HOME/bin:$SWIG_HOME/bin:$PATH
        
        修改之後儲存
        注意source /etc/profile
        swig -version   測試swig是否生效
    • 安裝proj(預設路徑)
      • # 如果出現 no package for sqlite3。執行下面的操作。(可以先執行安裝一下,避免出現錯誤)
            yum install -y sqlite-devel(本地yum即可安裝)
        # 解壓後將進入到proj-6.0.0
        tar -zxvf proj-6.0.0.tar.gz -C /home/gdal/
        ./configure
        make && make install
    • 安裝geos(預設路徑)
      • yum -y install bzip2(如果有可以不用安裝)
        tar -jxvf geos-3.7.2.tar.bz2 -C /home/gdal/
        # 解壓安裝
        ./configure 
        make && make install
    • 安裝gdal
      • # 5步驟和6步驟均是gdal本身依賴庫,所以在安裝gdal之前需要配置動態庫讓gdal能夠找到。
        cd /etc/ld.so.conf.d/
        touch local.conf
        echo "/usr/local/lib" > local.conf
        
        # 通過ldconfig -v可以檢視動態庫連線資訊:
            # 在列表中能夠找到這些就可以了
        
        /usr/local/lib:
            libgdalalljni.so.20 -> libgdalalljni.so
            libgdal.so.20 -> libgdal.so.20.5.1
            libgeos_c.so.1 -> libgeos_c.so.1.11.1
            libgeos-3.7.1.so -> libgeos.so
            libproj.so.15 -> libproj.so.15.0.0
            libpcrecpp.so.0 -> libpcrecpp.so.0.0.1
            libpcreposix.so.0 -> libpcreposix.so.0.0.6
            libpcre.so.1 -> libpcre.so.1.2.11
            
        tar -zxvf gdal-3.0.0.tar.gz -C /home/gdal/
        # 然後進行gdal的安裝
            ./configure --with-static-proj4=/export/servers/gdal/proj-6.0.0 --with-java=$JAVA_HOME
            # 上面步驟如果執行完在最後的資訊中如果有
            GEOS support = yes字樣
            # 則表示成功,繼續執行下面的步驟。
            make && make install(時間可能會比較長)
        
        # 如果需要使用gdal進行java的轉換需要修改swig對應的檔案
        修改檔案:gdal根目錄/swig/java/java.opt,新增JAVA_HOME的值為java的根目錄。
        vim /home/gdal/gdal-3.0.0/swig/java/java.opt
        將 JAVA_HOME=/home/console/jdk1.8.0_111 新增到檔案最後
        # 在路徑:gdal根目錄/swig/java中執行make && make install
        
        # 把gdal根目錄/swig/java中生成的gdal.jar檔案複製到$JAVA_HOME/jre/lib/ext下
        cp gdal.jar /home/console/jdk1.8.0_111/jre/lib/ext/
        # 把.so、.lo、.o、.la、*.a複製到自己方便的資料夾下,一般是$JAVA_HOME/jre/lib/amd64/server
        cp *.so *.lo *.o *.la *.a /home/console/jdk1.8.0_111/jre/lib/amd64/server/
            然後在/etc/profile中新增
        export LD_LIBRARY_PATH=.:$JAVA_HOME/jre/lib/amd64/server
        
        # 最後記得source /etc/profile檔案
    • 安裝注意

      • 安裝swig如果已經提前安裝了pcre的話,還是出現找不到,則需要新增

        ​ ./configure --with-pcre-prefix=/usr/lib64

      • ant,java,swig都可以通過-version檢視是否安裝好。

      • 安裝完成後可以通過gdal目錄中swig/java/app中的示例測試。也可以通過gdalinfo - -version檢視是否安裝成功。

      • 如果輸入gdalinfo --version的時候出現動態庫相關的內容報錯,ldconfig -v再重新查詢一下即可,這樣的話應該會有動態庫後面顯示(改變),可能是動態庫正在設定,等到(改變)字樣消失即可。

      • 簡單安裝swig:yum install -y swig(java在linux上通過swig來呼叫GDAL)

      • 簡單安裝java ant:yum -y install ant(編譯時需要)

      • 涉及到的連線

    

    至此,gdal安裝完成