Opened 12 years ago

Closed 11 years ago

#1099 closed defect (fixed)

GRASS 6.4SVN with MSYS fails to start startup screen

Reported by: marisn Owned by: grass-dev@…
Priority: normal Milestone: 6.4.2
Component: Default Version: svn-releasebranch64
Keywords: wingrass, wxgui Cc:
CPU: Unspecified Platform: MSWindows Vista

Description

Starting GRASS with MSYS fails in WinGRASS-6.4.SVN-r42668-1. No location choice screen is provided. It gives some python errors (python.exe has stopped working) and following output in provided console:

Starting GRASS ...
The current directory is invalid.
ERROR: Invalid return code from gis_set.tcl.
Please advise GRASS developers of this error.
BRĪDINĀJUMS:Attention!
BRĪDINĀJUMS:Locking is not supported on Windows!
access: No such file or directory
KĻŪDA:ATRAŠANĀS VIETA << /home/tests/<UNKNOWN> >> nav pieejama

And then it starts GRASS prompt.

GRASS 6.4> pwd
C:/PROGRA~1/GRASS-~1/msys/home/tests

There is no such directory as reported by PWD.

GRASS 6.4> g.gisenv
GISDBASE='/home/tests';
LOCATION_NAME='<UNKNOWN>';
MAPSET='<UNKNOWN>';
GRASS_GUI='wxpython';
GRASS 6.4> g.gui gui=wxpython
access: No such file or directory
KĻŪDA:ATRAŠANĀS VIETA << /home/tests/<UNKNOWN> >> nav pieejama
GRASS 6.4> g.gui gui=tcltk   
access: No such file or directory
KĻŪDA:ATRAŠANĀS VIETA << /home/tests/<UNKNOWN> >> nav pieejama

Change History (17)

in reply to:  description ; comment:1 by hellik, 12 years ago

Replying to marisn:

Starting GRASS with MSYS fails in WinGRASS-6.4.SVN-r42668-1. No location choice screen is provided.

I've tried the nightly build WinGRASS-6.4.SVN-r42668-1-Setup.exe on my WinVista32-box by starting "Grass with Msys", but I can't replicate the error.

Grass-6.4.svn (r42668) is working normally, I can select a location and start a Grass session

best regards Helmut

in reply to:  1 comment:2 by marisn, 12 years ago

Replying to hellik:

I've tried the nightly build WinGRASS-6.4.SVN-r42668-1-Setup.exe on my WinVista32-box by starting "Grass with Msys", but I can't replicate the error.

Grass-6.4.svn (r42668) is working normally, I can select a location and start a Grass session

Hm. I was running from another user (not one used to install GRASS) without write permission to C:\Program Files\GRASS. Try to create a new limited user and test from it's account.

comment:3 by marisn, 12 years ago

Still an issue. Msh window opens, shows greeting, <ENTER>, error, <ENTER>, window closes.

WinGRASS-6.4.SVN-r45559-1

Hit RETURN to continue

Starting GRASS ...
The current directory is invalid.
Traceback (most recent call last):
  File "c:/Program Files/GRASS 6.4.SVN/etc/wxpython/gis_set.py", line 38, in <                  module>
    import gui_modules.goutput
  File "c:/osgeo4w/usr/src/grass64_release/dist.i686-pc-mingw32/etc/wxpython/g                  ui_modules/goutput.py", line 37, in <module>
  File "c:/osgeo4w/usr/src/grass64_release/dist.i686-pc-mingw32/etc/wxpython/g                  ui_modules/preferences.py", line 939, in <module>
  File "c:/osgeo4w/usr/src/grass64_release/dist.i686-pc-mingw32/etc/wxpython/g                  ui_modules/preferences.py", line 613, in __init__
  File "c:/osgeo4w/usr/src/grass64_release/dist.i686-pc-mingw32/etc/wxpython/g                  ui_modules/preferences.py", line 679, in ReadSettingsFile
KeyError: 'GISDBASE'
Error in GUI startup. If necessary, please
report this error to the GRASS developers.
Switching to text mode now.
Hit RETURN to continue...

WinGRASS-6.5.SVN-r45558-1

Starting GRASS ...
The current directory is invalid.
The current directory is invalid.
Traceback (most recent call last):
  File "c:/Program Files/GRASS 6.5.SVN/etc/wxpython/gis_set.py", line 39, in <module>
    import gui_modules.goutput
  File "c:\Program Files\GRASS 6.5.SVN\etc\wxpython\gui_modules\goutput.py", line 38, in <module>
    import preferences
  File "c:\Program Files\GRASS 6.5.SVN\etc\wxpython\gui_modules\preferences.py", line 931, in <module>
    globalSettings = Settings()
  File "c:\Program Files\GRASS 6.5.SVN\etc\wxpython\gui_modules\preferences.py", line 605, in __init__
    self.ReadSettingsFile()
  File "c:\Program Files\GRASS 6.5.SVN\etc\wxpython\gui_modules\preferences.py", line 671, in ReadSettingsFile
    gisdbase = gisenv['GISDBASE']
KeyError: 'GISDBASE'
Error in GUI startup. If necessary, please
report this error to the GRASS developers.
Switching to text mode now.
Hit RETURN to continue...

in reply to:  3 ; comment:4 by hellik, 12 years ago

Replying to marisn:

Still an issue. Msh window opens, shows greeting, <ENTER>, error, <ENTER>, window closes.

WinGRASS-6.4.SVN-r45559-1

it's very strange. i've tested it with WinGRASS-6.4.SVN-r45566-1-Setup.exe, "GRASS 6.4.SVN with MSYS" starts without any problem.

Does "GRASS 6.4.SVN" open the same location correctly?

The current directory is invalid.

Helmut

in reply to:  4 ; comment:5 by marisn, 12 years ago

CPU: x86-32Unspecified
Milestone: 6.4.06.4.1

Replying to hellik:

it's very strange. i've tested it with WinGRASS-6.4.SVN-r45566-1-Setup.exe, "GRASS 6.4.SVN with MSYS" starts without any problem.

Does "GRASS 6.4.SVN" open the same location correctly?

The current directory is invalid.

Helmut

Still fails with today's nightly. To test, please, create a new user account (i.e. "test"). If it's working on Your system, my guess would be - somebody "forgot" that GRASS can be started also for first time with MSYS?

Does "GRASS 6.4.SVN" open the same location correctly?

There's no location at all! It's a fresh start without GISDBASE, LOCATION etc. set. There's no way how to set LOCATION before GRASS startup screen (wx, tcl, text) comes up (for ordinary users).

WinGRASS-6.4.SVN-r45829-1-Setup

in reply to:  5 comment:6 by hellik, 12 years ago

Replying to marisn:

Replying to hellik:

it's very strange. i've tested it with WinGRASS-6.4.SVN-r45566-1-Setup.exe, "GRASS 6.4.SVN with MSYS" starts without any problem.

Does "GRASS 6.4.SVN" open the same location correctly?

The current directory is invalid.

Helmut

Still fails with today's nightly. To test, please, create a new user account (i.e. "test"). If it's working on Your system, my guess would be - somebody "forgot" that GRASS can be started also for first time with MSYS?

Does "GRASS 6.4.SVN" open the same location correctly?

There's no location at all! It's a fresh start without GISDBASE, LOCATION etc. set. There's no way how to set LOCATION before GRASS startup screen (wx, tcl, text) comes up (for ordinary users).

WinGRASS-6.4.SVN-r45829-1-Setup

tested with WinGRASS-6.4.SVN-r45829-1-Setup

(1) all existing GISDBASE renamed, so no findable anymore

(2) starting "GRASS 6.4.SVN with MSYS"

(3) no existing GISDBASE, LOCATION etc. is found, in the msys-shell there is following message

Cleaning up temporary files ...
Starting GRASS ...
access: No such file or directory

and a wxgui pops up where I can choose any folder which is used as GISDBASE. I choose C:\test whithout any location in it.

(5) as next step the location wizzard pops up where I'm able to define a location

Helmut

in reply to:  5 comment:7 by hellik, 12 years ago

Replying to marisn:

Does "GRASS 6.4.SVN" open the same location correctly?

There's no location at all! It's a fresh start without GISDBASE, LOCATION etc. set. There's no way how to set LOCATION before GRASS startup screen (wx, tcl, text) comes up (for ordinary users).

the demolocation is installed by the wingrass-installer. here (after renaming all existing gisdbases) and after a fresh wingrass-installation, the wingrass-start up points to the demolocation, but any other folder (with or without any location) can be choosen and afterwards the location wizzard pop ups

Helmut

comment:8 by marisn, 12 years ago

Keywords: wxgui added

This issue seems to be caused by "clever" $HOME tricks by MSYS (?). $HOME is set to /home/%USERNAME% and it points to "C:\Program Files\GRASS 6.4.SVN\msys\%USER%". The catch - there is no such folder as %USER% as %USER% migh not have permission to mkdir there. MSYS deals with it just fine - it "fools" every call that folder exists. Still it doesn't help Python or TCL, as they bypass MSYS and thus don't see MSYS dirty $HOME tricks.

Working solution for Vista users is to add following line to beginning of the msys.bat file (seems to work OK also if %USERPROFILE% contains spaces):

set HOME=%USERPROFILE%

Here's some output for a new user "tests2" under Vista running 04.06. WinGRASS 6.4. (without %USERPROFILE% workaround and with some echo's and print's):

Hit RETURN to continue

Starting GRASS ...
GISBASE /C/Program Files/GRASS 6.4.SVN
^^EXISTS
GISRC /tmp/grass6-tests2-5624/gisrc
^^EXISTS
GISRCRC /home/tests2/.grassrc6
^^DOESNT
And now calling gis_set.py....
The current directory is invalid.
preferences.py#679:gisenv={}
os.getcwd=C:\PROGRA~1\GRASS6~1.SVN\msys\home\tests2

Traceback (most recent call last):
  File "c:/Program Files/GRASS 6.4.SVN/etc/wxpython/gis_set.py", line 38, in <module>
    import gui_modules.goutput
  File "c:/osgeo4w/usr/src/grass64_release/dist.i686-pc-mingw32/etc/wxpython/gui_modules/goutput.py", line 37, in <module>
  File "c:\Program Files\GRASS 6.4.SVN\etc\wxpython\gui_modules\preferences.py", line 941, in <module>
    globalSettings = Settings()
  File "c:\Program Files\GRASS 6.4.SVN\etc\wxpython\gui_modules\preferences.py", line 613, in __init__
    self.ReadSettingsFile()
  File "c:\Program Files\GRASS 6.4.SVN\etc\wxpython\gui_modules\preferences.py", line 680, in ReadSettingsFile
    gisdbase = gisenv['GISDBASE']
KeyError: 'GISDBASE'
Error in GUI startup. If necessary, please
report this error to the GRASS developers.
Switching to text mode now.
Hit RETURN to continue...

Here's some output of gis.m after changing startup to use -tcltk instead of -wxpython (mentioned directory really doesn't exist):

couldn't change working directory to "C:/PROGRA~1/GRASS6~1.SVN/msys/home/tests2": no such file or directory
couldn't change working directory to "C:/PROGRA~1/GRASS6~1.SVN/msys/home/tests2": no such file or directory
    while executing
"cd $currdir"
    (procedure "MapCanvas::composite" line 24)
    invoked from within
"MapCanvas::composite $mon"
    (procedure "MapCanvas::drawmap" line 40)
    invoked from within
"MapCanvas::drawmap $mon"
    (procedure "MapCanvas::display_server" line 9)
    invoked from within
"MapCanvas::display_server"
    ("after" script)

comment:9 by marisn, 12 years ago

As nobody has commented on this issue or screamed around in user mailing list - I suggest to drop "GRASS with MSYS" shortcut from installer at all. Nobody uses it anyway.

Yes, it's still broken.

in reply to:  9 ; comment:10 by hamish, 12 years ago

Replying to marisn:

Nobody uses it anyway.

I wasn't aware it was broken. When using WinGrass, "with MSys" is the flavour I'd use (mostly due to the usefulness of bash), although it's been ages since I tried.

So this is just on Vista, right? how about Windows7?

Did it ever work? ie is it a regression, or was it always broken for Vista?

Hamish

in reply to:  9 ; comment:11 by hellik, 12 years ago

Replying to marisn:

As nobody has commented on this issue or screamed around in user mailing list - I suggest to drop "GRASS with MSYS" shortcut from installer at all. Nobody uses it anyway.

I'm often using "GRASS 6.4.SVN with MSYS", so at least one .... ;o)

Yes, it's still broken.

tested with actual nightly WinGRASS-6.4.SVN-r46194-1-Setup.exe on Vista32 (on different machines - german locale - with and without existing locations ect)

it's working without any problem.

Helmut

in reply to:  11 comment:12 by hellik, 12 years ago

Replying to hellik:

tested with actual nightly WinGRASS-6.4.SVN-r46194-1-Setup.exe on Vista32 (on different machines - german locale - with and without existing locations ect)

it's working without any problem.

above successfull test with locations in C:\gisdata\grassdata.

tested again with locations in C:\gisdataäöü\grassdata.

the msys-shell and the wx-welcome-screen for choosing locations pop up, it's possible to choose a location, but it's impossible to choose a mapset and a lot of python messages are shown in the msys-shell.

Helmut

in reply to:  10 ; comment:13 by hellik, 12 years ago

Replying to hamish:

Did it ever work?

AFAICT as long as I'm playing around with wingrass (now for ~4 years), it was doing so.

Helmut

in reply to:  13 ; comment:14 by hamish, 12 years ago

Milestone: 6.4.16.4.2

Replying to hamish:

Did it ever work?

Replying to hellik:

AFAICT as long as I'm playing around with wingrass (now for ~4 years), it was doing so.

I mean, has GRASS+MSys ever worked on Vista or Windows7? It has worked fine for me on XP for years too.

I wonder if using the latest versions of MSys helps? (but they seem to have made it rather hard to install now) Surely we are not the only ones with this problem.

thanks, Hamish

in reply to:  14 ; comment:15 by hellik, 12 years ago

Replying to hamish:

I mean, has GRASS+MSys ever worked on Vista or Windows7? It has worked fine for me on XP for years too.

yes, as it does actually with WinGRASS-6.4.SVN-r46194-1-Setup.exe here on my WinVista32-box (german locale) at home and on a Win7-box of a friend (german locale).

Helmut

in reply to:  15 comment:16 by hellik, 11 years ago

Replying to hellik:

Replying to hamish:

I mean, has GRASS+MSys ever worked on Vista or Windows7? It has worked fine for me on XP for years too.

yes, as it does actually with WinGRASS-6.4.SVN-r46194-1-Setup.exe here on my WinVista32-box (german locale) at home and on a Win7-box of a friend (german locale).

Helmut

still valid? closing the ticket?

Helmut

comment:17 by marisn, 11 years ago

Resolution: fixed
Status: newclosed

Starting on a fresh account with latin letters in user name works just fine with current nightly build. Closing, as seems to be fixed.

Note: See TracTickets for help on using tickets.