Skip to content

Instantly share code, notes, and snippets.

@jalbertbowden
Forked from zhm/gist:2005158
Created December 28, 2013 09:20
Show Gist options
  • Select an option

  • Save jalbertbowden/8157627 to your computer and use it in GitHub Desktop.

Select an option

Save jalbertbowden/8157627 to your computer and use it in GitHub Desktop.

Building GDAL 1.9 with ESRI FileGDB support on OS X Lion

  • Download the SDK from ESRI's website http://resources.arcgis.com/content/geodatabases/10.0/file-gdb-api

  • Extract the SDK, and put the contents of the directory in a known location, I used ~/local/filegdb, Example path to one of the files: ~/local/filegdb/lib/libFileGDBAPI.dylib

  • I use ~/local/filegdb so it can stay isolated in it's own place, you can put it anywhere, but the next few steps might be different

  • Go into the directory containing the FileGDB SDK, e.g. ~/local/filegdb

  • ESRI built these dylib's using @rpath's, so to avoid needing to mess with DYLD_LIBRARY_PATH, I updated the @rpath's using install_name_tool

  • Here is the commands I used to patch the dylibs, this is not required if you want to use DYLD_LIBRARY_PATH yourself:

    install_name_tool -id "$(pwd)/lib/libFileGDBAPI.dylib" ./lib/libFileGDBAPI.dylib
    install_name_tool -change "@rpath/libfgdbunixrtl.dylib" "$(pwd)/lib/libfgdbunixrtl.dylib" ./lib/libFileGDBAPI.dylib
    install_name_tool -id "$(pwd)/lib/libfgdbunixrtl.dylib" ./lib/libfgdbunixrtl.dylib
    
  • To verify the paths, use otool -L lib/libFileGDBAPI.dylib and otool -L lib/libfgdbunixrtl.dylib and make sure the paths are correct

  • We need to make some changes to the configure.in script for GDAL now, since the FileGDB config code hasn't yet been updated for the OSX FileGDB SDK

  • In the GDAL source root, edit the configure.in and replace it with https://gist.github.com/2005082

  • In the GDAL source root, run ./autogen.sh to re-create the configure script

  • Now run the configure script ./configure --with-fgdb=/Users/zacmcc/local/filegdb

  • The configure script has many options, here is the configure line I use for my custom build: https://gist.github.com/2005091, if you have other GDAL builds on your machine (e.g. homebrew) that you don't want to interfere with, I recommand at least using --prefix=~/local or some other place on your machine besides /usr/local (default for homebrew) or /opt/local (default for MacPorts).

  • If it worked properly, you should see in the output of configure indicating yes for FileGDB support

  • make && make install

  • If everything worked, it's time to test it out! Here's a test file: http://trac.osgeo.org/gdal/raw-attachment/wiki/FileGDB/test_fgdb.gdb.zip

    which ogr2ogr # make sure it's the correct ogr2ogr first ogrinfo --formats # list out the formats ogrinfo ~/Downloads/test_fgdb.gdb

    #convert FileGDB directly to PostGIS ogr2ogr -f "PostgreSQL" PG:"dbname='somedatabase' host='localhost' port='5432'" ~/Downloads/test_fgdb.gdb

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment