4

I'm trying to install the GDAL python package in a python 2.7.1 environment on RHEL 5. I am using the command 'pip install GDAL'. I have no problem installing other packages like numpy, etc. in this manner.

The installation fails with this error:

extensions/gdal_wrap.cpp: In function 'PyObject* _wrap_VSIFTruncateL(PyObject*, PyObject*)':

extensions/gdal_wrap.cpp:6845: error: 'VSIFTruncateL' was not declared in this scope

error: command 'gcc' failed with exit status 1

I also tried compiling GDAL 1.9.0 from source and running 'python setup.py build' (after setting the path to gdal-config in setup.cfg) and 'python setup.py install'. The GDAL python bindings seem to install okay, but I get the same 'VSIFTruncateL' error when trying to use GDAL...

>>> from osgeo import gdal
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "osgeo/__init__.py", line 21, in <module>
    _gdal = swig_import_helper()
  File "osgeo/__init__.py", line 17, in swig_import_helper
    _mod = imp.load_module('_gdal', fp, pathname, description)
ImportError: osgeo/_gdal.so: undefined symbol: VSIFTruncateL

3 Answers 3

6

Does the version of the GDAL python package you are trying to install match the one for your GDAL installation?

I was having the same problem because I was trying to build the GDAL python package v1.9.0 against GDAL v1.8.1 that I had previously installed on my development machine.

Simply telling pip to use v1.8.1 solved this issue for me.

pip install GDAL==1.8.1

NOTE: I'm using a Mac but was seeing the exact same error as you.

2
  • Sorry for the late response. It turns out there was an old version of GDAL installed elsewhere on the server, and it was being picked up during the build. So it was similar to what you described. All fixed now. Thanks!
    – vulture
    May 28, 2012 at 6:53
  • thank you, this solved my problem. The default version from the ubuntu repository was different from the default version from pip and installation failed without a meaningful error message.
    – Niels
    Jun 19, 2019 at 8:08
2

Ran into the same error when trying to upgrade my GDAL from 1.9.0 to 1.11.0. Looks like on some Linux systems, there is some sort of library caching that can interfere. Doing the following:

export LD_PRELOAD=$THEPREFIXPATH/lib/libgdal.so.1

or for bash environments:

LD_PRELOAD $THEPREFIXPATH/lib/libgdal.so.1

was all I needed (substituting what ever you set for your prefix when you configured).

0

I have the same problem in My Macbook. Use conda install GDAL has no error.

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.