编译 GDAL 2.1.1、2.1.4、2.2.1 时找不到 FileGDB

FileGDB not found when compiling GDAL 2.1.1, 2.1.4, 2.2.1

我正在尝试编译支持 FileGDB 的 GDAL。下面两个脚本是运行,第一个获取ESRI FileGDB,第二个用with-fgdb support flag set编译GDAL:

mkdir -p /provisioning/filegdb && \
curl -# -o filegdb_api_${FILEGDB_VERSION}-64.tar.gz ${FGDB_SOURCE} && \
tar -zxvf filegdb_api_${FILEGDB_VERSION}-64.tar.gz && \
cp -r FileGDB_API-64/lib/* /usr/local/lib && \
cp -r FileGDB_API-64/include/* /usr/local/include && \
ldconfig -v

# Compile GDAL with FileGDB support for Fiona/Geopandas Python packages
mkdir -p /provisioning/gdal && \
cd /provisioning/gdal && \
curl -# -o gdal-2.2.1.tar.gz http://download.osgeo.org/gdal/2.2.1/gdal-2.2.1.tar.gz && \
tar -zxvf gdal-2.2.1.tar.gz && \
cd /provisioning/gdal/gdal-2.2.1 && \
./configure --prefix=/usr/ --with-python --with-fgdb && \
make -j$(python -c 'import multiprocessing; 
print(multiprocessing.cpu_count())')

这会导致以下错误:

configure: error: FileGDBAPI not found.

我认为这个问题最后一次在 OSGeo 邮件列表上讨论是在 12 年 (http://lists.osgeo.org/pipermail/gdal-dev/2012-March/032164.html)。

我已尝试使用 GDAL 版本 2.1.1、2.1.4 和 2.2.1。

OS 基于这张 Docker 图片:python:3.6-stretch.

任何关于如何规避此问题的指导将不胜感激,谢谢。

--with fgdb 应该指向 API 的文件夹。有关示例,请参阅 https://trac.osgeo.org/gdal/wiki/FileGDB and https://gis.stackexchange.com/questions/292506/how-do-i-install-esri-file-gdb-api-in-ubuntu-16-04-so-qgis-2-8-can-see-it

请注意,对于 Ubuntu 16.04 和更新版本以及 Debian stretch(随 gcc 6.3.0 提供),您需要 ESRI FileGDB API 的 gcc51 变体。