I'm on Ubuntu 12.04. I ran this: apt-get install -y autoconf automake libtool make g++ gdal-bin libgdal1-1.7.0 libgdal1-dev python-gdal
That installed GDAL 1.7.3. Then I ran this: export CPLUS_INCLUDE_PATH=/usr/include/gdal export C_INCLUDE_PATH=/usr/include/gdal Then I `pip install`-ed a requirements.txt file with this in it: https://pypi.python.org/packages/source/G/GDAL/GDAL-1.7.1.tar.gz#md5=38b838d528b309a28a3aa24d4fcef3cd First I tried it without the two exports above and got these errors: fatal error: cpl_port.h: No such file or directory compilation terminated I quickly found on Google that I needed those two exports to solve that problem. So I tried it with the two exports, and that solved that fatal error, but it revealed a whole new problem (the output was very long, so I truncated all the repetitive stuff off; I can supply full output on request): Running setup.py install for GDAL warning: build_py: byte-compiling is disabled, skipping. building 'osgeo._gdal' extension gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I../../port -I../../gcore -I../../alg -I../../ogr/ -I/usr/include/python2.7 -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include -c extensions/gdal_wrap.cpp -o build/temp.linux-x86_64-2.7/extensions/gdal_wrap.o cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default] extensions/gdal_wrap.cpp:2999:67: error: ‘VSILFILE’ has not been declared extensions/gdal_wrap.cpp: In function ‘int wrapper_VSIFReadL(void**, int, int, int*)’: ... extensions/gdal_wrap.cpp: In function ‘int wrapper_VSIFWriteL(int, char*, int, int, int*)’: extensions/gdal_wrap.cpp:3473:1: warning: control reaches end of non-void function [-Wreturn-type] error: command 'gcc' failed with exit status 1 Complete output from command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-60DWKf-build/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-OEZ4Vd-record/install-record.txt --single-version-externally-managed --compile: running install running build running build_py creating build creating build/lib.linux-x86_64-2.7 copying gdal.py -> build/lib.linux-x86_64-2.7 copying ogr.py -> build/lib.linux-x86_64-2.7 copying osr.py -> build/lib.linux-x86_64-2.7 copying gdalconst.py -> build/lib.linux-x86_64-2.7 copying gdalnumeric.py -> build/lib.linux-x86_64-2.7 creating build/lib.linux-x86_64-2.7/osgeo copying osgeo/gdal_array.py -> build/lib.linux-x86_64-2.7/osgeo copying osgeo/gdal.py -> build/lib.linux-x86_64-2.7/osgeo copying osgeo/osr.py -> build/lib.linux-x86_64-2.7/osgeo copying osgeo/gdalnumeric.py -> build/lib.linux-x86_64-2.7/osgeo copying osgeo/gdalconst.py -> build/lib.linux-x86_64-2.7/osgeo copying osgeo/__init__.py -> build/lib.linux-x86_64-2.7/osgeo copying osgeo/ogr.py -> build/lib.linux-x86_64-2.7/osgeo warning: build_py: byte-compiling is disabled, skipping. running build_ext building 'osgeo._gdal' extension creating build/temp.linux-x86_64-2.7 creating build/temp.linux-x86_64-2.7/extensions gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I../../port -I../../gcore -I../../alg -I../../ogr/ -I/usr/include/python2.7 -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include -c extensions/gdal_wrap.cpp -o build/temp.linux-x86_64-2.7/extensions/gdal_wrap.o cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for Ada/C/ObjC but not for C++ [enabled by default] extensions/gdal_wrap.cpp:2999:67: error: ‘VSILFILE’ has not been declared extensions/gdal_wrap.cpp: In function ‘int wrapper_VSIFReadL(void**, int, int, int*)’: extensions/gdal_wrap.cpp:3034:72: error: cannot convert ‘int*’ to ‘FILE* {aka _IO_FILE*}’ for argument ‘4’ to ‘size_t VSIFReadL(void*, size_t, size_t, FILE*)’ extensions/gdal_wrap.cpp: In function ‘int PyProgressProxy(double, const char*, void*)’: extensions/gdal_wrap.cpp:3236:2: warning: the address of ‘_Py_NoneStruct’ will never be NULL [-Waddress] extensions/gdal_wrap.cpp: In function ‘int wrapper_VSIStatL(const char*, StatBuf*, int)’: extensions/gdal_wrap.cpp:3457:52: error: ‘VSIStatExL’ was not declared in this scope extensions/gdal_wrap.cpp: At global scope: extensions/gdal_wrap.cpp:3465:67: error: ‘VSILFILE’ has not been declared extensions/gdal_wrap.cpp: In function ‘int wrapper_VSIFWriteL(int, char*, int, int, int*)’: extensions/gdal_wrap.cpp:3472:42: error: cannot convert ‘int*’ to ‘FILE* {aka _IO_FILE*}’ for argument ‘4’ to ‘size_t VSIFWriteL(const void*, size_t, size_t, FILE*)’ extensions/gdal_wrap.cpp: At global scope: extensions/gdal_wrap.cpp:3801:5: error: ‘GDALAsyncReaderH’ does not name a type extensions/gdal_wrap.cpp:3807:8: error: ‘GDALAsyncReaderH’ does not name a type extensions/gdal_wrap.cpp: In function ‘void DeleteAsyncReaderWrapper(GDALAsyncReaderWrapperH)’: extensions/gdal_wrap.cpp:3826:20: error: ‘struct GDALAsyncReaderWrapper’ has no member named ‘hAsyncReader’ ... Googling those errors, I also find solutions that say I need to use the two exports above, but given that I AM using those exports, and that it solved my earlier fatal error, I'm guessing that's not the problem here. I've tried instead pip installing GDAL-1.9.1.tar.gz and GDAL-2.0.1.tar, but those just fail earlier with different fatal errors. I'm under the impression here that I need to match the Python GDAL library version with the libgdal and python-gdal versions, so I think GDAL-1.7.1.tar.gz is right. But I can't get the requirement to successfully install. Help? Thanks, Nick
_______________________________________________ gdal-dev mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/gdal-dev
