[GRASS-dev] get interface description for python modules on Windows

Martin Landa landa.martin at gmail.com
Tue Mar 25 11:54:03 PDT 2014


Hi,

I am trying to fix `build_modules_xml.py` to produces description also
for Python modules. The problem is the failure in grass.script's
get_interface_description() [1] caused by two issues. When running the
script from Makefile [2], the PATHEXT variable can miss '.py'
extension (for running session it's set up by grass.py [3]. I have
fixed this issue in r59338.

The _remaining_ issue is related to Makefiles. Strangely the rule [4]
produces _doubled_ PATH, on Windows it's cased by LD_LIBRARY_PATH
which overwrites manually defined PATH:

GISRC=/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/demolocation/.grassrc70
GISBASE=c:/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32
--> PATH="/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/bin:/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/bin:/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/scripts:
$PATH"
PYTHONPATH="c:/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/etc/python;c:/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/etc/python;$PYTHONPATH"
--> PATH="/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/bin:/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/scripts:/c/osgeo4w/usr/src/grass_trunk/dist.i686
-pc-mingw32/lib:/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/lib:.:/usr/local/bin:/mingw/bin:/bin:/osgeo4w/bin:/c/Windows/system32:/c/Windows:/c/Windows/
WBem:/usr/bin:/osgeo4w/apps/Python27/Scripts"
LC_ALL=C python tools/build_modules_xml.py >
/c/osgeo4w/usr/src/grass_trunk/dist.i686-pc-mingw32/etc/gui/wxpython/

The result is that `$GISBASE/scripts` is not in the path and
get_interface() fails. Does anybody have an idea how to correctly fix
`run_grass` rule. If I add `$GISBASE/scripts` to LD_LIBRARY_PATH
manually, it starts to work.

Thanks for any idea in advance, Martin

[1] http://trac.osgeo.org/grass/browser/grass/trunk/lib/python/script/task.py#L455
[2] http://trac.osgeo.org/grass/browser/grass/trunk/gui/wxpython/Makefile#L53
[3] http://trac.osgeo.org/grass/browser/grass/trunk/lib/init/grass.py#L418
[4] http://trac.osgeo.org/grass/browser/grass/trunk/include/Make/Rules.make#L33

-- 
Martin Landa * http://geo.fsv.cvut.cz/gwiki/Landa


More information about the grass-dev mailing list