Ubuntu编译GDAL库

本文详细介绍了在Windows11WSL2环境下,如何安装必要的依赖并编译GDAL3.7.1库,包括编译proj模块和根据需求关闭或开启GDAL特性。


本文基础编译环境使用windwos11,安装 WSL2 ubuntu子系统进行编译
gdal版本: gdal-3.7.1,除数据库、大数据、CAD支持等相关特性外,其他的特性依赖库全部安装。

编译环境

sudo apt update
sudo apt install cmake
sudo apt-get install g++

编译proj

sudo apt-get install libgeos-dev
sudo apt-get install sqlite3
sudo apt-get install libsqlite3-dev
sudo apt-get install tiff
sudo apt-get install libtiff-devel
sudo apt-get install libtiff-dev
sudo apt-get install curl
sudo apt-get install libssl-dev libcurl4-openssl-dev
wget https://download.osgeo.org/proj/proj-9.0.0.tar.gz
tar -xf proj-9.0.0.tar.gz
cd proj-9.0.0
mkdir build && cd build
cmake ..
cmake --build . --target install
ctest
sudo cp ./bin/* /bin
sudo cp ./lib/* /lib

编译gdal

sudo apt-get install proj-bin
sudo apt-get install libproj-dev
sudo apt-get install libzstd-dev
sudo apt-get install libmysqlclient-dev
sudo apt-get install swig
sudo apt-get install libgeotiff-dev
sudo apt-get install libpng-dev
sudo apt-get install libgif-dev
sudo apt install libjson-c-dev
sudo apt-get install libqhull-dev
sudo apt-get install liblerc-dev
sudo apt-get install expat
sudo apt-get install  libjna-jni
sudo apt install openjdk-17-jre
sudo apt install openjdk-17-jdk
sudo apt-get  install geotiff-bin
sudo apt-get install libxml2 libxml2-dev
sudo apt-get install libcrypto++-dev libcrypto++-doc libcrypto++-utils
sudo apt install libxerces-c-dev
sudo apt install 2to3
sudo apt-get install shapelib
sudo apt-get install pcre2-utils
sudo apt-get install libpcre3 libpcre3-dev
sudo apt-get install libexpat1-dev zlib1g-dev
sudo apt-get install libkml-dev
sudo apt-get install libhdf5-serial-dev
sudo apt install webp
sudo apt install libfreexl-dev
sudo apt install libopenblas-dev liblapack-dev
sudo apt-get install hdf4-tools
sudo apt-get install netcdf-bin
sudo apt-get install  ogdi-bin
sudo apt-get  install lz4 liblz4-dev
sudo apt-get install basix-doc
sudo apt-get  install openexr
sudo apt install libopenjp2-7 libopenjp2-tools
sudo apt-get install  poppler-utils
sudo apt-get install libpodofo-dev
sudo apt-get install libgeotiff-dev
sudo apt-get  install bison
sudo apt install ocl-icd-opencl-dev
sudo apt install openjpeg
sudo apt-get install libfyba-dev
sudo apt-get install openscad
wget https://github.com/OSGeo/gdal/releases/download/v3.7.1/gdal-3.7.1.tar.gz
tar -xf gdal-3.7.1.tar.gz
cd gdal-3.7.1
mkdir build && cd build
cmake ..
cmake --build .

关闭或开启特性

cmake .. -DGDAL_USE_ZSTD=ON/OFF
cmake --build .

-D 后的参数具体参考(https://gdal.org/development/building_from_source.html)

<think>好的,我需要帮助用户在Ubuntu系统上编译GDAL 2.3.2。用户之前已经询问过如何在Windows上使用VS2019编译GDAL 2.3.2,现在他们需要Ubuntu的指南。我需要参考用户提供的站内引用,同时结合之前的知识来生成合适的回答。 首先,查看用户提供的引用,引用[2]提到了在Linux下编译GDAL的步骤,特别是GDAL3.5.0之前的版本使用configure编译。引用[3]提到在Ubuntu 18.10和GDAL 2.3.2上测试过,说明兼容性。引用[5]提到了在Ubuntu上安装GDAL 2.3.2作为环境配置的一部分,但主要涉及TensorFlow和OpenCV的配置,可能对依赖项有帮助。 接下来,我需要整理步骤: 1. **安装依赖项**:根据引用[2],需要安装gcc、make、sqlite-devel、libxml2-devel、python-devel等。引用[4]提到了安装FFTW和Ghostscript,可能也是相关依赖。需要将这些整合,确保覆盖GDAL所需的依赖。 2. **下载源码**:用户需要从GDAL官网下载2.3.2版本的源码,引用[2]提供了下载链接,可以直接使用wget命令。 3. **解压并配置**:解压tar.gz文件,进入目录,运行configure脚本。引用[2]提到3.5.0前使用configure,所以这里适用。 4. **编译和安装**:标准的make, make install步骤。可能还需要设置安装路径,如引用[5]中的prefix设置。 5. **验证安装**:使用gdalinfo命令检查是否成功。 6. **Python绑定(可选)**:根据引用[3],使用swig生成Python接口,但可能需要额外步骤。用户是否需要Python支持? 潜在问题可能包括依赖项缺失,如引用[2]提到的sqlite-devel等,需要确保所有依赖已安装。另外,如果用户需要特定功能,比如Python支持,可能需要额外配置,如引用[5]中的Python路径设置,但GDAL的Python绑定通常通过swig和python-dev包处理。 需要注意用户可能遇到的常见问题,比如configure时的错误提示,缺少,或者权限问题。例如,引用[4]中安装libomp-dev和FFTW可能相关,但GDAL的依赖是否需要这些?可能需要查阅GDAL文档确认。 最后,根据用户之前的问题,他们可能需要详细的步骤和问题解决部分,如编译错误处理。确保回答结构清晰,步骤明确,并包含常见问题解决方法。</think>#### **Ubuntu 系统编译 GDAL 2.3.2 完整指南** --- ### **一、安装依赖项** GDAL 2.3.2 依赖以下和工具,需提前安装: ```bash sudo apt update sudo apt install -y \ gcc make g++ \ sqlite3 libsqlite3-dev \ libxml2-dev \ python3-dev python3-numpy \ swig libcurl4-openssl-dev \ libexpat1-dev \ libfftw3-dev libgeos-dev \ libproj-dev # 地理空间投影支持[^2][^4] ``` - **关键依赖说明**: - `sqlite3`:支持SQLite数据驱动。 - `libxml2-dev`:XML解析功能。 - `python3-dev` 和 `swig`:生成Python绑定。 - `libproj-dev`:坐标系转换支持(需PROJ)。 --- ### **二、下载与解压源码** 从GDAL官网下载源码并解压: ```bash wget -P /tmp https://download.osgeo.org/gdal/2.3.2/gdal-2.3.2.tar.gz tar -zxvf /tmp/gdal-2.3.2.tar.gz cd gdal-2.3.2 ``` --- ### **三、配置编译选项** 运行 `configure` 脚本生成Makefile: ```bash ./configure \ --prefix=/usr/local/gdal-2.3.2 # 指定安装路径 \ --with-python=python3 # 启用Python3绑定 \ --with-geos=yes # 启用GEOS几何运算 \ --with-proj=/usr/local # 指定PROJ路径(若自定义安装) ``` - **常用参数**: - `--with-curl`:支持网络数据访问(需`libcurl`)。 - `--with-openjpeg`:JPEG2000格式支持(需安装`libopenjp2-dev`)。 --- ### **四、编译与安装** ```bash make -j$(nproc) # 并行编译(nproc为CPU核心数) sudo make install # 安装到指定路径 ``` --- ### **五、配置环境变量** 1. **添加路径**: 编辑 `/etc/ld.so.conf` 或新建文件 `/etc/ld.so.conf.d/gdal.conf`,写入: ```plaintext /usr/local/gdal-2.3.2/lib ``` 执行 `sudo ldconfig` 更新动态缓存。 2. **添加PATH变量**: 编辑 `~/.bashrc`,添加: ```bash export PATH="/usr/local/gdal-2.3.2/bin:$PATH" export GDAL_DATA="/usr/local/gdal-2.3.2/share/gdal" ``` 执行 `source ~/.bashrc` 生效。 --- ### **六、验证安装** ```bash gdalinfo --version # 应输出 "GDAL 2.3.2" # 测试Python绑定 python3 -c "from osgeo import gdal; print(gdal.__version__)" ``` --- ### **七、常见问题解决** 1. **`configure` 报错缺少依赖** - 示例错误:`libproj not found` - 解决:安装 `libproj-dev` 或通过源码编译PROJ并指定 `--with-proj=/path/to/proj`[^4]。 2. **Python绑定未生成** - 原因:未安装 `swig` 或 `python3-dev`。 - 解决:重新安装依赖并清理后重编译: ```bash make clean ./configure ... # 确保包含 --with-python=python3 make && make install ``` 3. **运行时找不到GDAL** - 解决:检查 `LD_LIBRARY_PATH` 是否包含GDAL路径,或通过 `ldconfig` 更新缓存。 4. **自定义功能支持(如OpenJPEG)** - 示例:启用JPEG2000 ```bash sudo apt install libopenjp2-7-dev ./configure --with-openjpeg=yes ... ``` --- ### **八、扩展应用** - **集成到Python环境**: 若使用Anaconda,可将GDAL路径添加到Python环境变量(参考引用[5]): ```bash export PYTHONPATH="/usr/local/gdal-2.3.2/lib/python3.6/site-packages:$PYTHONPATH" ``` - **编译为静态**: 在 `configure` 中添加 `--enable-static`。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值