Frameworks

Mac OS X frameworks of various Unix image format and GIS libraries, which are the base requirements for most software available on this site. For older systems, see the download archive.

GDAL Complete

This is a convenience installer that includes all the current versions of the GDAL 3, GEOS 3, PROJ 6, SQLite 3, Spatialite 5, Rasterlite2 and UnixImageIO frameworks as of the major GDAL version of the package.  Separate GDAL plugin installers are included for ECW, MrSID and GRASS formats.  PDF read support is not available at this time, I am working on it.

The individual frameworks are no longer available.

GDAL Plugins

GDAL 3.2

ECW, MrSID and GRASS plugin installers are now included on the GDAL Complete disk image.

GDAL 3.1

PROJ Extras

Extra grid files for PROJ 6 can be downloaded from proj.org and installed manually.  Grids for PROJ 7 can be installed with the projsync tool.  Instructions in the GDAL Complete readme.

Developer Notes

These frameworks were designed to be easy to use as both normal frameworks for OS X apps, and as normal Unix libraries. This means that most of the time, configure scripts should need little or no changes to use these frameworks. Follow normal framework procedures for including them in Xcode projects, or for using them as frameworks in other software. All of these have been checked for framework-style includes internally or between them, such as #include <PROJ/projects.h> – many were OK as is, some needed some adjustments.

NOTE: these have some linking to system libraries that Apple does not support, such as iodbc and icu.  The frameworks can’t be bundled in an App Store app because of this.

In a Unix configure-make-install project, they can be used as is, without messing around with patching configure. There is a symlink folder at the top level that acts as a mini unix library environment, called ‘unix’. ie in GDAL it would be /Library/Frameworks/GDAL.framework/unix. This has the usual assortment of bin/include/lib subfolders, and symlinks with a normal lib*.dylib style library name. You would use this ‘unix’ folder in configure --with options just like /usr/local. ie: --with-proj=/Library/Frameworks/PROJ.framework/unix, or --with-gdal=/Library/Frameworks/GDAL.framework/unix/bin/gdal-config.