====== Build Notes ======
:!: **__Update in Progress -- There may be inconsistencies and problems until it's finished__**
The version listed is what the instructions refer to, there may be a more recent version. Many depend on a previous library being installed, so install in the given order.
Each major OSX version has its own section in the notes. Builds are not meant to be backwards-compatible for older OSX versions, but are generally forwards-compatible with later versions. Tiger builds are universal. Leopard builds are quad-arch universal 32+64bits. Compilation uses the ccub trick when needed. See the [[macosx:notes:universal64|Universal & 64bit]] notes for more info.
===== Framework Support =====
These are needed only when compiling the frameworks (GDAL only, really) from source.
Package,Version,Last Change,√,Depends,Source,Build,Notes
**libgeotiff**, //1.2.2//, -,, "libjpeg, libtiff, proj.4", [[http://www.remotesensing.org/geotiff/geotiff.html|remotesensing.org]], [[geotiff|build]],
**OGDI**, //3.1.5//, -,, "expat, proj.4", [[http://ogdi.sourceforge.net/|ogdi.sourceforge.net]], [[ogdi|build]], "For reading VPF data (ie VMAP0)."
**NetCDF**, //3.6.0p1//, -,, -, [[http://my.unidata.ucar.edu/content/software/netcdf/index.html|my.unidata.ucar.edu]], [[netcdf|build]], For reading NetCDF data.
**HDF**, //4.2r1//, -,, -, [[http://hdf.ncsa.uiuc.edu/|hdf.ncsa.uiuc.edu]], [[hdf|build]], For reading HDF data (ie Aster and MODIS data).
**CFITSIO**, //3.10//, 2008/10/8, √, -, [[http://heasarc.gsfc.nasa.gov/fitsio/]], [[cfitsio|build]], For reading FITS data.
===== All Support =====
These support end-products //and// frameworks. If using the frameworks as a base, these still need to be compiled for application end-products (see the application's requirements).
Package,Version,Last Change,√,Depends,Source,Build,Notes
**expat**, //2.0.1//, 2008/6/27, √, -, [[http://www.libexpat.org/|libexpat.org]], [[expat|build]],
**MySQL**, //4.1.13//, -,, -, [[http://dev.mysql.com|dev.mysql.com]], [[mysql|build]], "Get the latest 5.x release. See [[http://www.phpmyadmin.net|phpMyAdmin]] for an excellent MySQL web-based client to manage databases. [[http://cocoamysql.sourceforge.net|CocoaMySQL]] is another good client (Mac OS X app), tho it can't manage privileges."
===== Application Support =====
These support end-products. If using the frameworks as a base, these need to be compiled for application end-products (see the application's requirements).
Package,Version,Last Change,√,Depends,Source,Build,Notes
**GD**, //2.0.35//, 2008/6/27, √, "libjpeg, libpng, freetype2", [[http://www.libgd.org|www.libgd.org]], [[libgd|build]], "General purpose graphics library. Has its own internal GIF support."
**AGG**, //2.4//, -,, freetype2, [[http://antigrain.com/]], [[agg|build]], "Graphics rendering library. Get v2.4 for its more compatible license (2.5+ uses the GPL)"
**PDFlib**, //6.0.3//, -,, -, [[http://www.pdflib.com/index.html|www.pdflib.com]], [[pdflib|build]], "PDF serving and export from MapServer, and PDF generation from PHP. Either the Lite (free, non-commercial use), or commercial ($$$) version will work."
**FFMPEG**, //SVN//, -,, -, [[http://ffmpeg.mplayerhq.hu/]], [[ffmpeg|build]], "video encoding"
**ming**, //0.4.2//, 2008/10/12, √, "libgif, libpng, freetype2", [[http://www.libming.org/]], [[ming|build]], "Flash library"
**Cairo**, //1.4.14//, -,, ..., [[http://www.cairographics.org/|cairographics.org]], [[cairo|build]], "2D graphics library for multiple output devices"
**Tcl/Tk**, //8.4.10//, -,, -, [[http://www.tcl.tk/|www.tcl.tk]], [[tcltk|build]], "Tcl/Tk support will be removed in GRASS 7 in favor of Python."
===== Binaries Available =====
These have [[software:unixport|binaries available]]. The frameworks include the __Framework Support__ libraries statically linked. The applications include the other __Support__ libraries and programs above.
Package,Version,Last Change,√,Depends,Source,Build,Binary,Notes
**giflib**, //4.1.6//, 2008/10/18, √, -, [[http://sourceforge.net/projects/giflib/|sourceforge]], [[giflib|build]], [[software:frameworks|UnixImageIO framework]],
**libjpeg**, //6b//, 2007/12/02, √, -, [[http://www.ijg.org/|www.ijg.org]], [[libjpeg|build]], [[software:frameworks|UnixImageIO framework]],
**libpng**, //1.2.23//, 2008/10/18, √, -, [[http://www.libpng.org/pub/png/libpng.html|libpng.org]], [[libpng|build]], [[software:frameworks|UnixImageIO framework]],
**libtiff**, //4.0 CVS//, 2008/10/18, √, libjpeg, [[http://www.remotesensing.org/libtiff/|remotesensing.org]], [[libtiff|build]], [[software:frameworks|UnixImageIO framework]],
**libjasper**, //1.900.1 UUID//, 2008/10/18, √, libjpeg, [[http://www.ece.uvic.ca/~mdadams/jasper/|JasPer Project]]\\ [[ftp://ftp.remotesensing.org/gdal/|JasPer UUID]], [[libjasper|build]], [[software:frameworks|UnixImageIO framework]], "JPEG2000 library."
**freetype2**, //2.3.5//, 2008/6/27, √, -, [[http://freetype.sourceforge.net/index2.html|FreeType Project]], [[freetype2|build]], [[software:frameworks|FreeType framework]], "Apple's X11 provides an older freetype, but it's still good. Install your own if you want an up-to-date FreeType or want to avoid depedency on X11."
**libfftw**, //3.1.2//, 2008/6/27, √, -, [[http://www.fftw.org/|fftw.org]], [[fftw|build]], [[software:frameworks|FFTW3 framework]], "Fast Fourier Transform library. Used in i.fft, i.ifft GRASS modules."
**PROJ.4**, //4.6.0//, 2008/6/27, √, -, [[http://trac.osgeo.org/proj/|osgeo.org]], [[proj4|build]], [[software:frameworks|PROJ framework]], "Map projection library. Get the proj source AND the datum files."
**GEOS**, //3.0.0//, 2008/6/27, √, -, [[http://trac.osgeo.org/geos/|osgeo.org]], [[geos|build]], [[software:frameworks|GEOS framework]], "Geometry library."
**PostgreSQL**, //8.3.3//, 2008/8/14, √, -, [[http://www.postgresql.org/|postgresql.org]], [[postgresql|build]], [[software:postgres|PostgreSQL]],
**PostGIS**, //1.0.3//, -,, PostgreSQL, [[http://postgis.refractions.net/|refractions.net]], [[postgis|build]], [[software:postgres|PostGIS]],
**pgRouting**, //1.0.3//, -,, PostgreSQL, [[http://pgrouting.postlbs.org/|pgrouting.postlbs.org]], [[pgrouting|build]], [[software:postgres|pgRouting]], "Dijkstra, A*, Driving Distance, Travelling Salesman, Shooting Star"
**RdbiPgSQL**, //1.0.3//, -,, "PostgreSQL, R", [[http://www.bioconductor.org/packages/release/Software.html|bioconductor.org]], [[postgresr|build]],[[software:postgres|RdbiPgSQL]], "R extension to access Postgres databases"
**PHP**, //4.4.0//, -,, "expat, libjpeg, libpng, libtiff, libjasper, freetype, gd, pdflib, MySQL, PostgreSQL", [[http://www.php.net/|www.php.net]], [[php|build]], [[software:php|PHP]], "Necessary for php-mapscript. Apple's bundled PHP lacks many useful options."
**GDAL/OGR**, //1.3.0//, -,, "libgif, libjpeg, libpng, libtiff, libjasper, proj.4, geotiff, //HDF//, //NetCDF//, //CFITSIO//, GEOS, //OGDI//, //MrSID//, //MySQL//, PostgreSQL", [[http://www.gdal.org/|gdal.org]], [[gdal|build]], [[software:frameworks|GDAL framework]], For reading/writing many GIS formats.
**GRASS**, //6.3.0//, -,, "libjpeg, libpng, libtiff, freetype, proj.4, gdal, //postgres//, sqlite, fftw, //mysql//, //ffmpeg//, tcltk, python, wxpython", [[http://grass.osgeo.org/|grass.osgeo.org]], [[grass|build]], [[software:grass|GRASS]],
**MapServer**, //5.0.3//, -,, "libjpeg, libpng, freetype, gd, agg, //ming//, //pdflib//, proj.4, gdal, postgres", [[http://mapserver.gis.umn.edu/|mapserver.gis.umn.edu]], [[mapserver|build]], [[software:mapserver|MapServer]],
**Qgis**, //0.10.0//, -, √, "expat, geos, proj, sqlite, gsl, grass, Qt, Python, PyQt", [[http://www.qgis.org/|qgis.org]], [[http://wiki.qgis.org/qgiswiki/BuildingFromSource|build]], [[software:qgis|Qgis]],