On 22/03/2012 21:00, Even Rouault wrote:
Le jeudi 22 mars 2012 19:26:56, Armin Burger a écrit :
Hi all

I set up 2 pixel functions to be used with VRT images and derived bands.
This works fine with the GDAL utilities and also with MapServer and
Python MapScript.

If I try however to load the pixel functions in GDAL-Python as drivers,
I run into problems. The following code

    from osgeo import gdal
    import os

    os.putenv("GDAL_DRIVER_PATH", "/usr/local/share/gdal/gdalplugins")
    gdal.AllRegister()

produces the error:

python: symbol lookup error: /usr/local/share/gdal/gdalplugins
/gdal_SpotBlue.so: undefined symbol: GDALAddDerivedBandPixelFunc


So is this sort of a bug or is this functionality not available via the
GDAL Python bindings? Environment is Linux, GDAL 1.9, Python 2.6.

No fundamental reason it should not work. I'm pretty sure to have done that in
the past. Did you make sure that your gdal_SpotBlue.so links to libgdal.so
(check with ldd) ? But I'm not sure why loading throug python would make a
difference w.r.t loading with GDAL utilities or MapServer.

Even

compilation was with

gcc -fPIC -c SpotBlue.c
gcc -shared SpotBlue.o -o SpotBlue.so


So no spacial linking against libgdal.so. ldd therefore does not report anything related to the libgdal.so. But since it directly worked from the normal GDAL utilities and MapScript I did not check anything further.

What would be your suggestion for additional flags to add for the compilation?

Armin

_______________________________________________
gdal-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to