Building On Unix With Minimized Drivers
TODO: This Wiki article is under construction -- mloskot
Here are the ./configure options disabling driver and features that can be safely disabled:
./configure --prefix=/usr/local \
--with-threads \
--with-ogr \
--with-geos \
--without-libtool \
--with-libz=internal \
--with-libtiff=internal \
--with-geotiff=internal \
--without-gif \
--without-pg \
--without-grass \
--without-libgrass \
--without-cfitsio \
--without-pcraster \
--without-netcdf \
--without-png \
--without-jpeg \
--without-gif \
--without-ogdi \
--without-fme \
--without-hdf4 \
--without-hdf5 \
--without-jasper \
--without-ecw \
--without-kakadu \
--without-mrsid \
--without-jp2mrsid \
--without-bsb \
--without-grib \
--without-mysql \
--without-ingres \
--without-xerces \
--without-expat \
--without-odbc \
--without-curl \
--without-sqlite3 \
--without-dwgdirect \
--without-panorama \
--without-idb \
--without-sde \
--without-perl \
--without-php \
--without-ruby \
--without-python \
--without-ogpython \
--with-hide-internal-symbols
From r15347, you can also replace --with-libz=internal by --with-libz=no.
On my system, here are the dependencies of libgdal.so with such a build :
$ ldd libgdal.so
linux-gate.so.1 => (0xffffe000)
libgeos_c.so.1 => /usr/lib/libgeos_c.so.1 (0xb7dca000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7db2000)
librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0xb7da8000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7da4000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7cb9000)
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7c94000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7c87000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7b3d000)
libgeos.so.2 => /usr/lib/libgeos.so.2 (0xb7a3d000)
/lib/ld-linux.so.2 (0x80000000)
Additionnaly, if you are willing to apply the below patch, you'll get a very minimal GDAL with only GeoTIFF, Imagine HFA (for overviews in HFA format), Raw (for some VRT operations), and VRT (for gdal_translate) support for the raster part, and Shapefile and REC (needed by OpenEV) for the vector part. The python bindings will also work with that minimized build.
Attachments
-
gdal_minimized.patch
(5.1 KB) - added by rouault
4 years ago.
Patch against GDAL SVN trunk r15347
