[GRASS-dev] 6.4.0 blocker bugs

Glynn Clements glynn at gclements.plus.com
Mon Jul 5 17:11:23 EDT 2010


Markus Neteler wrote:

> >>> time to get out 6.4.0final :-)
> >>
> >> Please...
> >
> > one huge +1 ...
> 
> I learned that we should await the ctypes port to get rid of SWIG?

SWIG is only used within GRASS for the wxGUI vdigit and nviz modules. 
It's also used to generate wrappers for programmers who wish to access
the libraries directly, but these aren't used by any part of GRASS.

I suggest disabling all of this in the final release. The vdigit and
nviz modules don't work on Windows, and aren't particularly robust on
other platforms (and being loaded in-process means that any problems
affect the GUI as a whole, not just the vdigit/nviz modules).

The SWIG wrappers for the libraries are barely usable and are planned
to be replaced, so we shouldn't be encouraging their use.

IOW:

1. The "swig" directory should be removed from DIRS in the top-level
Makefile, so it isn't built (unless the user builds it manually).

2. Official binaries shouldn't use --with-python; this will prevent
the vdigit and nviz modules from being built.

3. Optionally back-port the ctypes wrappers (lib/python/ctypes). Even
if this doesn't work (fails to build or generates broken wrappers), it
shouldn't break anything which would otherwise work.

4. Optionally back-port the ctypes-based nviz module (wxnviz.py). This
has most of the same issues as nviz/vdigit (i.e. the GRASS libraries
are being accessed directly from the GUI process, so a segfault or
G_fatal_error() will kill the GUI), but not all of them.

4b. Alternatively, back-port the changes but not wxnviz.py itself. The
result is equivalent to just building --without-python (i.e. the GUI
will try to import the wxnviz module, fail, and warn that it's
disabled), except that the user can drop in wxnviz.py from SVN if they
want to try it out.

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


More information about the grass-dev mailing list