[GRASS-user] grass65: Invalid argument: can't _spawnl

Markus Neteler neteler at osgeo.org
Thu Sep 10 17:17:20 EDT 2009


On Thu, Sep 10, 2009 at 9:14 PM, Helmut Kudrnovsky <hellik at web.de> wrote:
>
> hi,
>
> grass65devel self-compiled in the osgeo4w-stack on winvista
> nc-dataset
> rev39115
>
> when i add i.e. the hospital-vector-data to the map-display, i get the following error message in the wx-gui:
>
> "Traceback (most recent call last):
>  File "c:\OSGeo4W\apps\grass\grass-6.5.svn\etc\wxpython\gui
> _modules\menuform.py", line 1463, in OnUpdateDialog
>
> fn(**kwargs)
>  File "c:\OSGeo4W\apps\grass\grass-6.5.svn\etc\wxpython\gui
> _modules\gselect.py", line 647, in InsertColumns
>
> dbInfo = VectorDBInfo(vector)
>  File "c:\OSGeo4W\apps\grass\grass-6.5.svn\etc\wxpython\gui
> _modules\gselect.py", line 404, in __init__
>
> self.__DescribeTables() # -> self.tables
>  File "c:\OSGeo4W\apps\grass\grass-6.5.svn\etc\wxpython\gui
> _modules\gselect.py", line 426, in __DescribeTables
>
> database = self.layers[layer]["database"])['cols']:
>  File "c:/OSGeo4W/apps/grass/grass-6.5.svn\etc\python\grass
> \script\db.py", line 50, in db_describe
>
> grass.fatal(_("Unable to describe table <%s>") % table)
> NameError
> :
> global name 'grass' is not defined"
>
> and on the msys-command line (where i started grass65 with grass65 -wxpython):
>
> "GRASS 6.5.svn (nc_spm_08):c:/osgeo4w/apps/grass/bin > Invalid argument: can't _spawnl
> ERROR: Unable to start driver <dbf>"
>
> and i can't open the attribute table of the hospital-vector.

This is 6.5.svn:

[neteler at localhost grass65]$ grep _spawnl
*/*/*.cgeneral/g.parser/main.c:        /* execlp() and _spawnlp (
_P_OVERLAY,..) do not work, they return
general/g.parser/main.c:        /* _spawnlp ( _P_OVERLAY, "sh", "sh",
filename, "@ARGS_PARSED@", NULL ); */
general/g.parser/main.c:            _spawnlp(_P_WAIT, shell, shell,
filename, "@ARGS_PARSED@", NULL);
general/g.parser/main.c:            perror("_spawnlp() failed");
lib/gis/system.c:    _spawnlp(P_WAIT, "cmd.exe", "cmd.exe", "/c",
command, NULL);

[neteler at localhost grass65]$ grep _spawnl */*/*/*.c
lib/db/dbmi_client/start.c:     *          otherwise _spawnl fails.
The name used as _spawnl
lib/db/dbmi_client/start.c:    pid = _spawnl(_P_NOWAIT, startup, startup, NULL);
lib/db/dbmi_client/start.c:     db_syserror("can't _spawnl");

> the same procedure with grass64svn delivered with osgeo4w-stack there no such error message and the attribute-table can be opened.

but it seems to be identical to 6.4.svn (the grass64svn delivered with
the osgeo4w-stack is older, though):

[neteler at localhost grass64]$ grep _spawnl */*/*.c
general/g.parser/main.c:        /* execlp() and _spawnlp (
_P_OVERLAY,..) do not work, they return
general/g.parser/main.c:        /* _spawnlp ( _P_OVERLAY, "sh", "sh",
filename, "@ARGS_PARSED@", NULL ); */
general/g.parser/main.c:            _spawnlp(_P_WAIT, shell, shell,
filename, "@ARGS_PARSED@", NULL);
general/g.parser/main.c:            perror("_spawnlp() failed");
lib/gis/system.c:    _spawnlp(P_WAIT, "cmd.exe", "cmd.exe", "/c",
command, NULL);

[neteler at localhost grass64]$ grep _spawnl */*/*/*.c
lib/db/dbmi_client/start.c:     *          otherwise _spawnl fails.
The name used as _spawnl
lib/db/dbmi_client/start.c:    pid = _spawnl(_P_NOWAIT, startup, startup, NULL);
lib/db/dbmi_client/start.c:     db_syserror("can't _spawnl");

Please consider to submit this a ticket if no quick solution is found.

Markus


More information about the grass-user mailing list