[GRASS-dev] Calling GRASS from outside: cannot open shared object file

Vaclav Petras wenzeslaus at gmail.com
Mon Feb 18 09:41:09 PST 2013


Hi,

I've tried to use GRASS without starting it explicitly in Python. I've
used example from wiki [1] which works. However, when I tried to use
library functions through ctypes, I'm not able to import lib modules.
I've added these lines to the example:

import grass.lib.gis as gis
print gis.G_location_path()

and the import fails with and error:

Traceback (most recent call last):
  File "python_test_ctypes.py", line 23, in <module>
    import grass.lib.gis as gis
  File "/home/vasek/dev/grass/trunk/dist.i686-pc-linux-gnu/etc/python/grass/lib/gis.py",
line 23, in <module>
    _libs["grass_gis.7.0.svn"] = load_library("grass_gis.7.0.svn")
  File "/home/vasek/dev/grass/trunk/dist.i686-pc-linux-gnu/etc/python/grass/lib/ctypes_loader.py",
line 55, in load_library
    return self.load(path)
  File "/home/vasek/dev/grass/trunk/dist.i686-pc-linux-gnu/etc/python/grass/lib/ctypes_loader.py",
line 72, in load
    raise ImportError,e
ImportError: libgrass_datetime.7.0.svn.so: cannot open shared object
file: No such file or directory

I placed print path to the ctypes/loader.py file (line 71) and I get
this output:

/home/vasek/dev/grass/trunk/dist.i686-pc-linux-gnu/lib/libgrass_gis.7.0.svn.so

This file exists (checked on disk and also python code checks this in
the function load_library) and libgrass_datetime.7.0.svn.so exists in
the same folder, too. The output of print
os.environ['LD_LIBRARY_PATH'] is:

:/home/vasek/dev/grass/trunk/dist.i686-pc-linux-gnu/lib

Running this script in GRASS session works.

Vaclav


[1] http://grasswiki.osgeo.org/wiki/Working_with_GRASS_without_starting_it_explicitly#Python_example
[2] http://grasswiki.osgeo.org/wiki/GRASS_and_Python#Creating_Python_scripts_that_call_GRASS_functionality_from_outside
(BTW, these to sections could be merged together.)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: python_test_ctypes.py
Type: application/octet-stream
Size: 555 bytes
Desc: not available
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20130218/a9077e6a/attachment.obj>


More information about the grass-dev mailing list