一 編譯hdf5
wget https://github.com/HDFGroup/hdf5/archive/refs/tags/hdf5_1.14.5.tar.gz
tar -zxvf hdf5_1.14.5.tar.gz
cd hdf5_1.14.5
# 注意安裝路徑,必須指定此目錄,否則之后編譯netcdf會報libhdf的錯誤
./configure --prefix=/usr/
make -j 4
make install
二 編譯netcdf
wget https://github.com/Unidata/netcdf-c/archive/refs/tags/v4.9.2.tar.gz
tar -zxvf v4.9.2.tar.gz
cd netcdf-c-4.9.2
./configure --prefix=/usr/local/netcdf
make -j 4
make install
編譯如果報錯:
error: Can't find or link to the hdf5 library
就是上一步hdf5編譯位置不對,必須嚴格按照本文路徑安裝,這是筆者掉的大坑。
之后更改下ld.so.conf和profile的依賴:
vi /etc/ld.so.conf
# 編輯內容將/usr/local/netcdf/lib添加到最下面,例如:
/usr/local/protobuf-c/lib
/usr/local/cgal-4.13/lib64
/usr/local/sqlite/lib
/usr/local/netcdf/lib
重啟生效
ldconfig -v
三 編譯gdal
wget https://github.com/OSGeo/gdal/archive/refs/tags/v3.9.3.tar.gz
tar -zxvf v3.9.3.tar.gz
cd gdal-3.9.3
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_PYTHON_BINDINGS=OFF -DCMAKE_INSTALL_PREFIX=/usr/local/gdal-3.9.3
將/usr/local/gdal/bin配置到系統PATH變量,重啟變量生效。
四 測試
gdalinfo xxx.nc