Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#4841 closed defect (invalid)

gdal_retile.py Prints: undefined symbol: GDALTransformGeolocations

Reported by: ajuvolkov Owned by: hobu
Priority: normal Milestone:
Component: PythonBindings Version: svn-trunk
Severity: normal Keywords:
Cc:

Description

Hello. I built gdal with OpenCL support from the https://svn.osgeo.org/gdal/trunk/gdal, revision 24990. My OS is Ubuntu 12.04.

configure options:

--prefix=/opt/tools/gdal --with-opencl --with-opencl-include=/opt/tools/nvc-sdk/OpenCL/common/inc --with-opencl-lib="-L/opt/tools/nvc-sdk/OpenCL/common/lib -loclUtil_x86_64 -lOpenCL" --with-python=/usr/bin/python2.7

I tried to run the gdal_retile.py, after 'make' and 'make install', and got a message:

poweruser@hc01:/srv$ gdal_retile.py
Traceback (most recent call last):
  File "/usr/bin/gdal_retile.py", line 38, in <module>
    import gdal
  File "/usr/local/lib/python2.7/dist-packages/GDAL-2.0.0-py2.7-linux-x86_64.egg/gdal.py", line 2, in <module>
    from osgeo.gdal import deprecation_warn
  File "/usr/local/lib/python2.7/dist-packages/GDAL-2.0.0-py2.7-linux-x86_64.egg/osgeo/__init__.py", line 21, in <module>
    _gdal = swig_import_helper()
  File "/usr/local/lib/python2.7/dist-packages/GDAL-2.0.0-py2.7-linux-x86_64.egg/osgeo/__init__.py", line 17, in swig_import_helper
    _mod = imp.load_module('_gdal', fp, pathname, description)
ImportError: /usr/local/lib/python2.7/dist-packages/GDAL-2.0.0-py2.7-linux-x86_64.egg/osgeo/_gdal.so: undefined symbol: GDALTransformGeolocations

'which gdal_retile.py' gets a path:

/usr/bin/gdal_retile.py

'whereis gdal_retile.py' gets a path:

gdal_retile: /usr/bin/gdal_retile.py /usr/bin/X11/gdal_retile.py /usr/share/man/man1/gdal_retile.1.gz

I've installed a gdal v1.9.1 from the ubuntugis-unstable repository by 'sudo apt-get install', before my experiments with gdal from the trunk.

May be it conflicts?

Change History (2)

comment:1 by Even Rouault, 12 years ago

Milestone: 2.0.0
Resolution: invalid
Status: newclosed

Yes, this is a mismatch of version. GDALTransformGeolocations is a new symbol in trunk that is used by the trunk Python bindings. From your error message, it is obvious that the trunk Python bindings are linking to libgdal.so from 1.9.1. You need to tweak your LD_LIBRARY_PATH to make it point to your trunk GDAL. Check the result of

ldd /usr/local/lib/python2.7/dist-packages/GDAL-2.0.0-py2.7-linux-x86_64.egg/osgeo/_gdal.so

It must currently point to /usr/lib/libgdal.so(something) instead of /usr/local/lib/libgdal.so(something) where your trunk GDAL is presumably installed

comment:2 by ajuvolkov, 12 years ago

Thank you. Tweaking of LD_LIBRARY_PATH fixed the problem

Note: See TracTickets for help on using tickets.