Opened 8 years ago

Closed 7 years ago

#1515 closed defect (fixed)

nviz fails to launch from the command line

Reported by: hamish Owned by: grass-dev@…
Priority: blocker Milestone: 6.4.3
Component: wxGUI Version: svn-releasebranch64
Keywords: nviz Cc:
CPU: x86-64 Platform: Linux

Description

Hi,

something wrong with the module GUI magic in lib/python/task.py or gui/wxpython/gui_modules/menuform.py in 6.4svn:

GRASS64svn> g.gisenv GRASS_GUI
text

GRASS64svn> nviz

(popup window)

Unable to fetch interface description for command 'nviz2.2_script'.
Details: [Errno 2] No such file or directory
Try to set up GRASS_ADDON_PATH variable.

workaround: use the tcl/tk module gui, which works ok:

  g.gui tcltk -u -n
  nviz

nviz --ui also fails in 6.4svn.

nviz --interface-description works as expected, including module description.

in devbr6 the module GUI launches, with or without --ui.

in trunk nviz --ui works to bring up the module GUI.

thanks, Hamish

Change History (15)

comment:1 Changed 8 years ago by hamish

d.rast3d in devbr6 has the same problem.

wxGUI layer manager -> add various raster -> Add 3D raster map

(I thought there was a tooltip to say that only did something in 3D view (wxNviz) mode? right now it just quietly renders nothing in 2D view mode AFAICT)

Hamish

comment:2 in reply to:  description ; Changed 8 years ago by martinl

Replying to hamish:

something wrong with the module GUI magic in lib/python/task.py or gui/wxpython/gui_modules/menuform.py in 6.4svn:

no, the root of the problem is GRASS parser, not any GUI magic.

To get wxGUI dialog the executable need to be in PATH, see parser.c.

In this case $GISBASE//etc/nviz2.2/scripts is not in the PATH.

comment:3 in reply to:  1 Changed 8 years ago by martinl

Replying to hamish:

d.rast3d in devbr6 has the same problem.

wxGUI layer manager -> add various raster -> Add 3D raster map

fixed in r49877

comment:4 in reply to:  2 ; Changed 8 years ago by hamish

Replying to martinl:

Replying to hamish:

something wrong with the module GUI magic in lib/python/task.py or gui/wxpython/gui_modules/menuform.py in 6.4svn:

no, the root of the problem is GRASS parser, not any GUI magic.

To get wxGUI dialog the executable need to be in PATH, see parser.c.

In this case $GISBASE//etc/nviz2.2/scripts is not in the PATH.

it launches fine with GRASS_GUI=tcltk, so how does G_gui_tcltk() make it work?

Hamish

comment:5 in reply to:  4 Changed 8 years ago by glynn

Replying to hamish:

it launches fine with GRASS_GUI=tcltk, so how does G_gui_tcltk() make it work?

G_gui_tcltk() doesn't require the module to be in the path. Instead, it executes "wish", and writes Tcl/Tk code (based upon the module's options) to its stdin.

comment:6 in reply to:  4 ; Changed 8 years ago by martinl

Replying to hamish:

Replying to martinl:

Replying to hamish:

something wrong with the module GUI magic in lib/python/task.py or gui/wxpython/gui_modules/menuform.py in 6.4svn:

no, the root of the problem is GRASS parser, not any GUI magic.

To get wxGUI dialog the executable need to be in PATH, see parser.c.

In this case $GISBASE//etc/nviz2.2/scripts is not in the PATH.

It works in G65 because bin/nviz is a binary, but in G64 it's just a bash script which calls nviz2.2_script.

comment:7 in reply to:  6 Changed 8 years ago by martinl

Replying to martinl:

In this case $GISBASE//etc/nviz2.2/scripts is not in the PATH.

It works in G65 because bin/nviz is a binary, but in G64 it's just a bash script which calls nviz2.2_script.

I don't know why nviz is so different in devbr6 compared to relbr64. It should be checked by someone who knows Nviz, otherwise I would hesitate to mark this bug as blocker.

comment:8 Changed 8 years ago by martinl

Component: PythonwxGUI

comment:9 Changed 8 years ago by hamish

(I'll look into the script vs binary a little more, but it might a few days)

comment:10 in reply to:  9 ; Changed 8 years ago by glynn

Replying to hamish:

(I'll look into the script vs binary a little more, but it might a few days)

See bug #902 for the history.

comment:11 in reply to:  10 Changed 8 years ago by hamish

Milestone: 6.4.26.4.3

Replying to glynn:

See bug #902 for the history.

thanks for the reminder.

since the nviz binary has been in devbr6 for a long time I assume that all is good with it, but since the patch is non-trivial I suggest to not apply it just before release, and so put this one off until 6.4.3.

Hamish

comment:12 Changed 8 years ago by marisn

I introduced a small workaround in r50495. Please test especially in non-typical usage scenarios (running scripts etc.).

comment:13 Changed 7 years ago by neteler

This now all works in 6.4.svn:

GRASS64svn> g.gisenv GRASS_GUI
text

GRASS64svn> nviz
(popup window)

GRASS64svn> nviz --ui
(popup window)

Any need to keep this open?

comment:14 in reply to:  13 Changed 7 years ago by hamish

Replying to neteler:

Any need to keep this open?

yes, as it is still relying on Maris's save-the-day last minute fix. The plan was to backport the full fix from devbr6 after the stable release went out. So far that hasn't happened, but still should.

best, Hamish

comment:15 in reply to:  13 Changed 7 years ago by marisn

Resolution: fixed
Status: newclosed

Replying to neteler:

This now all works in 6.4.svn:

GRASS64svn> g.gisenv GRASS_GUI
text

GRASS64svn> nviz
(popup window)

GRASS64svn> nviz --ui
(popup window)

Any need to keep this open?

IMHO this can be closed as nviz starts just fine. To backport or not 6.5 nviz startup is another question and isn't blocking this bug.

Still I more worry about provided "works for me" example -> if GUI=text why there's a pop-up window at all?!? Still it's a separate bug.

Note: See TracTickets for help on using tickets.