Opened 10 years ago

Closed 10 years ago

#5410 closed defect (invalid)

python wrapper build issue with Mac OS X 10.9.1 clang

Reported by: Kurt Schwehr Owned by: warmerdam
Priority: normal Milestone:
Component: default Version: svn-trunk
Severity: normal Keywords: mac
Cc:

Description

The first issue was fixed by doing:

CFLAGS="-Wno-self-assign -Wno-deprecated-writable-strings" python setup.py install --prefix=$HOME/src/gdal/inst

Env:

Mac 10.9.1

xcodebuild -version
Xcode 5.0.2
Build version 5A3005

gcc --version
Configurd with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin13.1.0
Thread model: posix
 
type gcc
gcc is hashed (/usr/bin/gcc)

Getting new complaints:

building 'osgeo._gdal' extension
gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -fwrapv -O3 -Wall -Wstrict-prototypes -I../../port -I../../gcore -I../../alg -I../../ogr/ -I/sw/include/python2.7 -I/sw/lib/python2.7/site-packages/numpy/core/include -I/Users/schwehr/src/gdal/gdal/include -c extensions/gdal_wrap.cpp -o build/temp.macosx-10.9-x86_64-2.7/extensions/gdal_wrap.o
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:7845:31: warning: conversion from string literal to
      'char *' is deprecated [-Wdeprecated-writable-strings]
        PyObject *item_list = PyMapping_Items( obj1 );
                              ^
/sw/include/python2.7/abstract.h:1354:50: note: expanded from macro
      'PyMapping_Items'
#define PyMapping_Items(O) PyObject_CallMethod(O,"items",NULL)
                                                 ^
extensions/gdal_wrap.cpp:11385:21: warning: conversion from string literal to
      'char *' is deprecated [-Wdeprecated-writable-strings]
      buf->format = "B";
                    ^
extensions/gdal_wrap.cpp:11390:21: warning: conversion from string literal to
      'char *' is deprecated [-Wdeprecated-writable-strings]
      buf->format = "h";

Once I disabled those two classes of gripes, I get a second issue:

creating build/temp.macosx-10.9-x86_64-2.7/extensions
gcc -DNDEBUG -g -fwrapv -fwrapv -O3 -Wall -Wstrict-prototypes -Wno-self-assign -Wno-deprecated-writable-strings -I../../port -I../../gcore -I../../alg -I../../ogr/ -I/sw/include/python2.7 -I/sw/lib/python2.7/site-packages/numpy/core/include -I/Users/schwehr/src/gdal/gdal/include -c extensions/gdal_wrap.cpp -o build/temp.macosx-10.9-x86_64-2.7/extensions/gdal_wrap.o
g++ -L/sw/lib -bundle -L/sw/lib/python2.7/config -lpython2.7 -L/sw/lib -Wno-self-assign -Wno-deprecated-writable-strings build/temp.macosx-10.9-x86_64-2.7/extensions/gdal_wrap.o -L../../.libs -L../../ -L/sw/lib -L/Users/schwehr/src/gdal/gdal/lib -lgdal -o build/lib.macosx-10.9-x86_64-2.7/osgeo/_gdal.so
ld: warning: directory not found for option '-L/Users/schwehr/src/gdal/gdal/lib'
Undefined symbols for architecture x86_64:
  "_CPLVirtualMemFree", referenced from:
      __wrap_delete_VirtualMem in gdal_wrap.o
  "_CPLVirtualMemGetAddr", referenced from:
      __wrap_VirtualMem_GetAddr in gdal_wrap.o
      __wrap_VirtualMem_Pin in gdal_wrap.o
  "_CPLVirtualMemGetSize", referenced from:
      __wrap_VirtualMem_GetAddr in gdal_wrap.o
      __wrap_VirtualMem_Pin in gdal_wrap.o
  "_CPLVirtualMemPin", referenced from:
      __wrap_VirtualMem_Pin in gdal_wrap.o
  "_GDALDatasetGetTiledVirtualMem", referenced from:
      __wrap_Dataset_GetTiledVirtualMem in gdal_wrap.o
  "_GDALDatasetGetVirtualMem", referenced from:
      __wrap_Dataset_GetVirtualMem in gdal_wrap.o
  "_GDALGetMetadataDomainList", referenced from:
      __wrap_MajorObject_GetMetadataDomainList in gdal_wrap.o
  "_GDALGetVirtualMemAuto", referenced from:
      __wrap_Band_GetVirtualMemAuto in gdal_wrap.o
  "_GDALRATChangesAreWrittenToFile", referenced from:
      __wrap_RasterAttributeTable_ChangesAreWrittenToFile in gdal_wrap.o
  "_GDALRasterBandGetTiledVirtualMem", referenced from:
      __wrap_Band_GetTiledVirtualMem in gdal_wrap.o
  "_GDALRasterBandGetVirtualMem", referenced from:
      __wrap_Band_GetVirtualMem in gdal_wrap.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command 'g++' failed with exit status 1

setup:

./configure --prefix=/Users/schwehr/src/gdal/inst --with-python --with-curl --enable-debug  --with-webp=/sw --with-jpeg=/sw --with-png=/sw --with-tiff=/sw --with-geos=/sw --with-pcre=/sw --with-libz=internal

Change History (2)

comment:1 by Kurt Schwehr, 10 years ago

Oh... trunk at Revision: 27014

comment:2 by Kurt Schwehr, 10 years ago

Resolution: invalid
Status: newclosed

Doh! Had gdal-dev installed in fink. Issues remain with the compilation warnings, but that's not a big deal.

fink remove gdal-dev

...
copying GDAL.egg-info/not-zip-safe -> build/bdist.macosx-10.9-x86_64/egg/EGG-INFO
copying GDAL.egg-info/top_level.txt -> build/bdist.macosx-10.9-x86_64/egg/EGG-INFO
writing build/bdist.macosx-10.9-x86_64/egg/EGG-INFO/native_libs.txt
creating dist
creating 'dist/GDAL-1.10.0-py2.7-macosx-10.9-x86_64.egg' and adding 'build/bdist.macosx-10.9-x86_64/egg' to it
removing 'build/bdist.macosx-10.9-x86_64/egg' (and everything under it)
Creating /Users/schwehr/src/gdal/inst/lib/python2.7/site-packages/site.py
Processing GDAL-1.10.0-py2.7-macosx-10.9-x86_64.egg
creating /Users/schwehr/src/gdal/inst/lib/python2.7/site-packages/GDAL-1.10.0-py2.7-macosx-10.9-x86_64.egg
Extracting GDAL-1.10.0-py2.7-macosx-10.9-x86_64.egg to /Users/schwehr/src/gdal/inst/lib/python2.7/site-packages
Adding GDAL 1.10.0 to easy-install.pth file

Installed /Users/schwehr/src/gdal/inst/lib/python2.7/site-packages/GDAL-1.10.0-py2.7-macosx-10.9-x86_64.egg
Processing dependencies for GDAL==1.10.0
Finished processing dependencies for GDAL==1.10.0
Note: See TracTickets for help on using tickets.