Ticket #1515 (closed defect: fixed)

Opened 17 months ago

Last modified 9 months ago

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:
Platform: Linux CPU: x86-64

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

follow-up: ↓ 3   Changed 17 months 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

in reply to: ↑ description ; follow-up: ↓ 4   Changed 17 months 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.

in reply to: ↑ 1   Changed 17 months 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

in reply to: ↑ 2 ; follow-ups: ↓ 5 ↓ 6   Changed 17 months 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

in reply to: ↑ 4   Changed 17 months 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.

in reply to: ↑ 4 ; follow-up: ↓ 7   Changed 17 months 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.

in reply to: ↑ 6   Changed 17 months 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.

  Changed 17 months ago by martinl

  • component changed from Python to wxGUI

follow-up: ↓ 10   Changed 17 months ago by hamish

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

in reply to: ↑ 9 ; follow-up: ↓ 11   Changed 17 months 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.

in reply to: ↑ 10   Changed 17 months ago by hamish

  • milestone changed from 6.4.2 to 6.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

  Changed 16 months ago by marisn

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

follow-ups: ↓ 14 ↓ 15   Changed 9 months 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?

in reply to: ↑ 13   Changed 9 months 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

in reply to: ↑ 13   Changed 9 months ago by marisn

  • status changed from new to closed
  • resolution set to fixed

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.