# 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`. Here's an 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`. There might be a more elegant way to handle this. If so, comments are welcome! - Here are 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 script 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="$HOME/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 recommend at least using `--prefix="$HOME/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
- Build it:
`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
## Using this build of GDAL in a KyngChaos build of QGIS
# save your current GDAL so you can put it back if you want cp /Library/Frameworks/GDAL.framework/Versions/1.8/GDAL /Library/Frameworks/GDAL.framework/Versions/1.8/GDAL_orig # symlink the custom GDAL build to the place QGIS looks rm /Library/Frameworks/GDAL.framework/Versions/1.8/GDAL ln -s ~/local/lib/libgdal.dylib /Library/Frameworks/GDAL.framework/Versions/1.8/GDALNote: to select one in QGIS, go to Add Vector Layer -> select the Directory radio button -> Select your .gdb directory I had some problems opening certain FileGDB's. I believe the API only supports FileGDB's created with ArcGIS 10.0+. More info: http://trac.osgeo.org/gdal/wiki/FileGDB