[GRASS-dev] build errors in trunk with make -j 4

Glynn Clements glynn at gclements.plus.com
Wed Jan 6 19:45:24 EST 2010


Hamish wrote:

> in trunk I get errors detected building wxpython and v.kridge, but if I
> cd into their dirs and re-run make they build ok.
> 
> are the pre-deps in their Makefiles healthy?

v.krige is a known problem, and isn't specific to parallel builds. It
imports modules from wxGUI (even if you just use --help etc), but the
"scripts" directory is built before the "gui" directory, so those
modules aren't present in $PYTHONPATH when v.krige is initially
"built". If you try again when the rest of GRASS has been built, it
will work.

Also, v.krige will use the system Python when it may need to use
$GRASS_PYTHON (as it uses wxPython). It should probably be split into
a front-end script which invokes the "real" script via $GRASS_PYTHON
when (and if) grass.parser() returns; then, --html-description would
work without requiring wxPython or any wxGUI modules.

As for wxGUI:

	default: $(DSTFILES) menustrings.py
		$(MAKE) parsubdirs

	menustrings.py: gui_modules/menudata.py xml/menudata.xml
		GISBASE="$(GISBASE)" \
		$(PYTHON) $< > $@

menudata.py reads $GISBASE/etc/wxpython/xml/menudata.xml, which is
included in $(DSTFILES). But with a parallel build, menudata.xml will
be installed concurrently with building menustrings.py.

The dependency line for menstrings.py should probably be:

	menustrings.py: gui_modules/menudata.py $(ETCDIR)/xml/menudata.xml

This should wait for menudata.xml to be installed before executing the
commands.

-- 
Glynn Clements <glynn at gclements.plus.com>


More information about the grass-dev mailing list