2

I'm trying to install GDAL for Python on my mac (OSX 10.9.2). I did:

>>> brew install GDAL

and got:

>>> 🍺  /usr/local/Cellar/gdal/1.11.3_1: 230 files, 33.1M

now:

>>> pip install GDAL

and I get a very long error log...

Collecting GDAL
  Using cached GDAL-2.0.1.tar.gz
Installing collected packages: GDAL
  Running setup.py install for GDAL ... error
    Complete output from command /Users/omrivolk/anaconda/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/2x/sp5ytf0n11zf01vr0s11_mph0000gn/T/pip-build-slMMiq/GDAL/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/2x/sp5ytf0n11zf01vr0s11_mph0000gn/T/pip-02Yxar-record/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build/lib.macosx-10.5-x86_64-2.7
    copying gdal.py -> build/lib.macosx-10.5-x86_64-2.7
    copying ogr.py -> build/lib.macosx-10.5-x86_64-2.7
    copying osr.py -> build/lib.macosx-10.5-x86_64-2.7
    copying gdalconst.py -> build/lib.macosx-10.5-x86_64-2.7
    copying gdalnumeric.py -> build/lib.macosx-10.5-x86_64-2.7
    creating build/lib.macosx-10.5-x86_64-2.7/osgeo
    copying osgeo/__init__.py -> build/lib.macosx-10.5-x86_64-2.7/osgeo
    copying osgeo/gdal.py -> build/lib.macosx-10.5-x86_64-2.7/osgeo
    copying osgeo/gdal_array.py -> build/lib.macosx-10.5-x86_64-2.7/osgeo
    copying osgeo/gdalconst.py -> build/lib.macosx-10.5-x86_64-2.7/osgeo
    copying osgeo/gdalnumeric.py -> build/lib.macosx-10.5-x86_64-2.7/osgeo
    copying osgeo/ogr.py -> build/lib.macosx-10.5-x86_64-2.7/osgeo
    copying osgeo/osr.py -> build/lib.macosx-10.5-x86_64-2.7/osgeo
    running build_ext
    building 'osgeo._gdal' extension
    creating build/temp.macosx-10.5-x86_64-2.7
    creating build/temp.macosx-10.5-x86_64-2.7/extensions
    /usr/bin/clang -fno-strict-aliasing -I/Users/omrivolk/anaconda/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Wno-error=unused-command-line-argument-hard-error-in-future -Wno-error=unused-command-line-argument-hard-error-in-future -I../../port -I../../gcore -I../../alg -I../../ogr/ -I/Users/omrivolk/anaconda/include/python2.7 -I/Users/omrivolk/anaconda/lib/python2.7/site-packages/numpy/core/include -I/usr/local/Cellar/gdal/1.11.3_1/include -c extensions/gdal_wrap.cpp -o build/temp.macosx-10.5-x86_64-2.7/extensions/gdal_wrap.o
    clang: warning: unknown warning option '-Werror=unused-command-line-argument-hard-error-in-future'; did you mean '-Werror=unused-command-line-argument'?
    clang: warning: unknown warning option '-Werror=unused-command-line-argument-hard-error-in-future'; did you mean '-Werror=unused-command-line-argument'?
    warning: unknown warning option '-Werror=unused-command-line-argument-hard-error-in-future'; did you mean '-Werror=unused-command-line-argument'? [-Wunknown-warning-option]
    warning: unknown warning option '-Werror=unused-command-line-argument-hard-error-in-future'; did you mean '-Werror=unused-command-line-argument'? [-Wunknown-warning-option]
    extensions/gdal_wrap.cpp:2230:11: warning: explicitly assigning a variable of type 'int' to itself [-Wself-assign]
                        res = SWIG_AddCast(res);
                        ~~~ ^              ~~~
    extensions/gdal_wrap.cpp:2233:11: warning: explicitly assigning a variable of type 'int' to itself [-Wself-assign]
                        res = SWIG_AddCast(res);
                        ~~~ ^              ~~~
    extensions/gdal_wrap.cpp:4265:47: error: use of undeclared identifier 'GDALDatasetCreateLayer'; did you mean 'GDALDatasetShadow_CreateLayer'?
        OGRLayerShadow* layer = (OGRLayerShadow*) GDALDatasetCreateLayer( self,
                                                  ^~~~~~~~~~~~~~~~~~~~~~
                                                  GDALDatasetShadow_CreateLayer
    extensions/gdal_wrap.cpp:4264:28: note: 'GDALDatasetShadow_CreateLayer' declared here
    SWIGINTERN OGRLayerShadow *GDALDatasetShadow_CreateLayer(GDALDatasetShadow *self,char const *name,OSRSpatialReferenceShadow *srs=NULL,OGRwkbGeometryType geom_type=wkbUnknown,char **options=0){
                               ^
    extensions/gdal_wrap.cpp:4273:47: error: use of undeclared identifier 'GDALDatasetCopyLayer'
        OGRLayerShadow* layer = (OGRLayerShadow*) GDALDatasetCopyLayer( self,
                                                  ^
    extensions/gdal_wrap.cpp:4280:12: error: use of undeclared identifier 'GDALDatasetDeleteLayer'; did you mean 'GDALDatasetShadow_DeleteLayer'?
        return GDALDatasetDeleteLayer(self, index);
               ^~~~~~~~~~~~~~~~~~~~~~
               GDALDatasetShadow_DeleteLayer
    extensions/gdal_wrap.cpp:4279:19: note: 'GDALDatasetShadow_DeleteLayer' declared here
    SWIGINTERN OGRErr GDALDatasetShadow_DeleteLayer(GDALDatasetShadow *self,int index){
                      ^
    extensions/gdal_wrap.cpp:4306:8: error: use of undeclared identifier 'OGRERR_NON_EXISTING_FEATURE'
      case OGRERR_NON_EXISTING_FEATURE:
           ^
    extensions/gdal_wrap.cpp:4314:12: error: use of undeclared identifier 'GDALDatasetGetLayerCount'; did you mean 'GDALDatasetShadow_GetLayerCount'?
        return GDALDatasetGetLayerCount(self);
               ^~~~~~~~~~~~~~~~~~~~~~~~
               GDALDatasetShadow_GetLayerCount
    extensions/gdal_wrap.cpp:4313:16: note: 'GDALDatasetShadow_GetLayerCount' declared here
    SWIGINTERN int GDALDatasetShadow_GetLayerCount(GDALDatasetShadow *self){
                   ^
    extensions/gdal_wrap.cpp:4318:47: error: use of undeclared identifier 'GDALDatasetGetLayer'
        OGRLayerShadow* layer = (OGRLayerShadow*) GDALDatasetGetLayer(self, index);
                                                  ^
    extensions/gdal_wrap.cpp:4322:47: error: use of undeclared identifier 'GDALDatasetGetLayerByName'; did you mean 'GDALDatasetShadow_GetLayerByName'?
        OGRLayerShadow* layer = (OGRLayerShadow*) GDALDatasetGetLayerByName(self, layer_name);
                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~
                                                  GDALDatasetShadow_GetLayerByName
    extensions/gdal_wrap.cpp:4321:28: note: 'GDALDatasetShadow_GetLayerByName' declared here
    SWIGINTERN OGRLayerShadow *GDALDatasetShadow_GetLayerByName(GDALDatasetShadow *self,char const *layer_name){
                               ^
    extensions/gdal_wrap.cpp:4326:13: error: use of undeclared identifier 'GDALDatasetTestCapability'; did you mean 'GDALDatasetShadow_TestCapability'?
        return (GDALDatasetTestCapability(self, cap) > 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~
                GDALDatasetShadow_TestCapability
    extensions/gdal_wrap.cpp:4325:17: note: 'GDALDatasetShadow_TestCapability' declared here
    SWIGINTERN bool GDALDatasetShadow_TestCapability(GDALDatasetShadow *self,char const *cap){
                    ^
    extensions/gdal_wrap.cpp:4336:47: error: use of undeclared identifier 'GDALDatasetExecuteSQL'; did you mean 'GDALDatasetShadow_ExecuteSQL'?
        OGRLayerShadow* layer = (OGRLayerShadow*) GDALDatasetExecuteSQL(self,
                                                  ^~~~~~~~~~~~~~~~~~~~~
                                                  GDALDatasetShadow_ExecuteSQL
    extensions/gdal_wrap.cpp:4335:28: note: 'GDALDatasetShadow_ExecuteSQL' declared here
    SWIGINTERN OGRLayerShadow *GDALDatasetShadow_ExecuteSQL(GDALDatasetShadow *self,char const *statement,OGRGeometryShadow *spatialFilter=NULL,char const *dialect=""){
                               ^
    extensions/gdal_wrap.cpp:4343:5: error: use of undeclared identifier 'GDALDatasetReleaseResultSet'; did you mean 'GDALDatasetShadow_ReleaseResultSet'?
        GDALDatasetReleaseResultSet(self, layer);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
        GDALDatasetShadow_ReleaseResultSet
    extensions/gdal_wrap.cpp:4342:17: note: 'GDALDatasetShadow_ReleaseResultSet' declared here
    SWIGINTERN void GDALDatasetShadow_ReleaseResultSet(GDALDatasetShadow *self,OGRLayerShadow *layer){
                    ^
    extensions/gdal_wrap.cpp:4346:35: error: use of undeclared identifier 'GDALDatasetGetStyleTable'; did you mean 'GDALDatasetShadow_GetStyleTable'?
        return (OGRStyleTableShadow*) GDALDatasetGetStyleTable(self);
                                      ^~~~~~~~~~~~~~~~~~~~~~~~
                                      GDALDatasetShadow_GetStyleTable
    extensions/gdal_wrap.cpp:4345:33: note: 'GDALDatasetShadow_GetStyleTable' declared here
    SWIGINTERN OGRStyleTableShadow *GDALDatasetShadow_GetStyleTable(GDALDatasetShadow *self){
                                    ^
    extensions/gdal_wrap.cpp:4350:9: error: use of undeclared identifier 'GDALDatasetSetStyleTable'; did you mean 'GDALDatasetShadow_SetStyleTable'?
            GDALDatasetSetStyleTable(self, (OGRStyleTableH) table);
            ^~~~~~~~~~~~~~~~~~~~~~~~
            GDALDatasetShadow_SetStyleTable
    extensions/gdal_wrap.cpp:4348:17: note: 'GDALDatasetShadow_SetStyleTable' declared here
    SWIGINTERN void GDALDatasetShadow_SetStyleTable(GDALDatasetShadow *self,OGRStyleTableShadow *table){
                    ^
    extensions/gdal_wrap.cpp:4350:40: error: cannot initialize a parameter of type 'OGRStyleTableShadow *' (aka 'OGRStyleTableHS *') with an rvalue of type 'OGRStyleTableH' (aka 'void *')
            GDALDatasetSetStyleTable(self, (OGRStyleTableH) table);
                                           ^~~~~~~~~~~~~~~~~~~~~~
    extensions/gdal_wrap.cpp:4348:94: note: passing argument to parameter 'table' here
    SWIGINTERN void GDALDatasetShadow_SetStyleTable(GDALDatasetShadow *self,OGRStyleTableShadow *table){
                                                                                                 ^
    extensions/gdal_wrap.cpp:4353:12: error: use of undeclared identifier 'GDALDatasetStartTransaction'; did you mean 'GDALDatasetShadow_StartTransaction'?
        return GDALDatasetStartTransaction(self, force);
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~
               GDALDatasetShadow_StartTransaction
    extensions/gdal_wrap.cpp:4352:19: note: 'GDALDatasetShadow_StartTransaction' declared here
    SWIGINTERN OGRErr GDALDatasetShadow_StartTransaction(GDALDatasetShadow *self,int force=FALSE){
                      ^
    extensions/gdal_wrap.cpp:4356:12: error: use of undeclared identifier 'GDALDatasetCommitTransaction'; did you mean 'GDALDatasetShadow_CommitTransaction'?
        return GDALDatasetCommitTransaction(self);
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
               GDALDatasetShadow_CommitTransaction
    extensions/gdal_wrap.cpp:4355:19: note: 'GDALDatasetShadow_CommitTransaction' declared here
    SWIGINTERN OGRErr GDALDatasetShadow_CommitTransaction(GDALDatasetShadow *self){
                      ^
    extensions/gdal_wrap.cpp:4359:12: error: use of undeclared identifier 'GDALDatasetRollbackTransaction'; did you mean 'GDALDatasetShadow_RollbackTransaction'?
        return GDALDatasetRollbackTransaction(self);
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
               GDALDatasetShadow_RollbackTransaction
    extensions/gdal_wrap.cpp:4358:19: note: 'GDALDatasetShadow_RollbackTransaction' declared here
    SWIGINTERN OGRErr GDALDatasetShadow_RollbackTransaction(GDALDatasetShadow *self){
                      ^
    extensions/gdal_wrap.cpp:4361:294: error: unknown type name 'GDALRIOResampleAlg'; did you mean 'GDALResampleAlg'?
    SWIGINTERN CPLErr GDALDatasetShadow_ReadRaster1(GDALDatasetShadow *self,int xoff,int yoff,int xsize,int ysize,void **buf,int *buf_xsize=0,int *buf_ysize=0,GDALDataType *buf_type=0,int band_list=0,int *pband_list=0,GIntBig *buf_pixel_space=0,GIntBig *buf_line_space=0,GIntBig *buf_band_space=0,GDALRIOResampleAlg resample_alg=GRIORA_NearestNeighbour,GDALProgressFunc callback=NULL,void *callback_data=NULL){
                                                                                                                                                                                                                                                                                                         ^~~~~~~~~~~~~~~~~~
                                                                                                                                                                                                                                                                                                         GDALResampleAlg
    /usr/local/Cellar/gdal/1.11.3_1/include/gdalwarper.h:56:3: note: 'GDALResampleAlg' declared here
    } GDALResampleAlg;
      ^
    extensions/gdal_wrap.cpp:4361:326: error: use of undeclared identifier 'GRIORA_NearestNeighbour'; did you mean 'GRA_NearestNeighbour'?
    SWIGINTERN CPLErr GDALDatasetShadow_ReadRaster1(GDALDatasetShadow *self,int xoff,int yoff,int xsize,int ysize,void **buf,int *buf_xsize=0,int *buf_ysize=0,GDALDataType *buf_type=0,int band_list=0,int *pband_list=0,GIntBig *buf_pixel_space=0,GIntBig *buf_line_space=0,GIntBig *buf_band_space=0,GDALRIOResampleAlg resample_alg=GRIORA_NearestNeighbour,GDALProgressFunc callback=NULL,void *callback_data=NULL){
                                                                                                                                                                                                                                                                                                                                         ^~~~~~~~~~~~~~~~~~~~~~~
                                                                                                                                                                                                                                                                                                                                         GRA_NearestNeighbour
    /usr/local/Cellar/gdal/1.11.3_1/include/gdalwarper.h:49:56: note: 'GRA_NearestNeighbour' declared here
      /*! Nearest neighbour (select on one input pixel) */ GRA_NearestNeighbour=0,
                                                           ^
    extensions/gdal_wrap.cpp:4425:5: error: unknown type name 'GDALRasterIOExtraArg'
        GDALRasterIOExtraArg sExtraArg;
        ^
    fatal error: too many errors emitted, stopping now [-ferror-limit=]
    4 warnings and 20 errors generated.
    error: command '/usr/bin/clang' failed with exit status 1

    ----------------------------------------
Command "/Users/omrivolk/anaconda/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/2x/sp5ytf0n11zf01vr0s11_mph0000gn/T/pip-build-slMMiq/GDAL/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/2x/sp5ytf0n11zf01vr0s11_mph0000gn/T/pip-02Yxar-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/2x/sp5ytf0n11zf01vr0s11_mph0000gn/T/pip-build-slMMiq/GDAL

Googled for a few hours but couldn't solve it.

3
  • 1
    Installing libraries with Homebrew places them into a completely different directory (the cellar) and install symlinks to the originals in the /bin folder. Installing the same library files on top of Homebrew using direct Python installation protocols will break Homebrew installed libraries. You might want to run a "brew update" to see if things can be cleaned up/fixed. Feb 28, 2016 at 19:43
  • In addition, typically when you use the brew'd GDAL it comes with the Python libraries already, so in theory once you've installed it you should be able to do from osgeo import gdal in Python. However, if you're using the inbuilt OSX Python I'd strongly recommend going for the pre-compiled GDAL pacakges as compiled by William Kyngesburye.
    – om_henners
    Mar 1, 2016 at 4:10
  • try brew upgrade gdal followed by pip install gdal
    – azis511
    Aug 24, 2020 at 23:12

1 Answer 1

-1

Use Anaconda: https://www.anaconda.com

Open up Terminal: conda install gdal

1
  • Welcome to GIS SE. As a new user, please take the Tour to i.a. get accustomed with how to write a good answer; an expert answer on specialized software issues has to be more than a two-liner! While possibly a valuable hint, your answer should elaborate on why you think that can help solving the issue and present the mentioned software in a nutshell, instead of just throwing in names and links.
    – geozelot
    Jun 8, 2018 at 14:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.