Dear list,
On my MS Window XP machine, I have:
- Cygwin GRASS 6.1.cvs (last Huidae Cho’s version);
- Cygwin GRASS 6.2.2-1 (18-Jul-2007);
- Native winGRASS 6.3.cvs (wingrass63_cvs20070801, 01-Aug-2007).
Some observations:
The three do not interfere with each other, except for the native winGRASS 6.3.cvs that needs to reset GISDBASE: in ~/.grassrc6 to an absolute path at startup (c:\cygwin\home$USER\ as opposed to \home$USER\ which is enough for Cygwin): next time you use a Cygwin version, it complains that it does not find the database folder (and vice versa when you use start the native version after a Cygwin/GRASS session). I understand one is very likely to survive this inconvenience, but is there a way around it?
If I use the cygwin_grass.bat script to start GRASS 6.2.2-1 as described at http://grass.itc.it/grass62/binary/mswindows/#icon, I receive the error message:
Application initialization failed: this isn’t a Tk applicationcouldn’t connect to display “127.0.0.1:0.0”
Error in startup script: dynamic loading is not currently available on this system
while executing
“load /usr/local/lib/tk8.4/…/libtk8.4.a Tk”
(“package ifneeded” script)
invoked from within
“package require Tk 8.0”
(“package ifneeded” script)
invoked from within
“package require -exact BWidget 1.2.1”
(file “/usr/local/grass-6.2.2/etc/gtcltk/options.tcl” line 15)
invoked from within
“source $env(GISBASE)/etc/gtcltk/options.tcl”
(file “/usr/local/grass-6.2.2/etc/gis_set.tcl” line 29)
Application initialization failed: this isn’t a Tk applicationcouldn’t connect to display “127.0.0.1:0.0”
Error in startup script: dynamic loading is not currently available on this system
while executing
“load /usr/local/lib/tk8.4/…/libtk8.4.a Tk”
(“package ifneeded” script)
invoked from within
“package require Tk 8.0”
(“package ifneeded” script)
invoked from within
“package require -exact BWidget 1.2.1”
(file “/usr/local/grass-6.2.2/etc/gm/gm.tcl” line 24)
However, if I use a modified grass.bat script (the one that starts GRASS 6.1.cvs, only with grass62 instead of grass61 in the “run xterm …” line) everything works fine.The cygwin_grass.bat script only works if there is an Cygwin/X Server already running from a previous Cygwin/GRASS session (the Cygwin/X Server stays on after exiting GRASS – you have to manually shut it down). It sounds like grass62 starts before startx has finished, but this is just my impression. Is there a known fix to this? I have found no answer in email archives.
Last thing: I have tried to run a shell script on the native winGRASS 6.3.cvs (by typing the script name at the bottom box of “Output - GIS.m” window and then pressing the different “run” buttons) but it always fails (the script works fine on Cygwin/GRASS versions) saying:
- nothing if I press “Run”;
- nothing if I press “Run (Background)”;
- error message if I press “Run UI”:
couldn’t execute “ita.sh”: no such file or directory
couldn’t execute “ita.sh”: no such file or directory
while executing
“exec – $program --tcltk”
(procedure “run_ui” line 6)
invoked from within
“run_ui [string trim [.gronsole.win.text get 1.0 end]]”
invoked from within
“.gronsole.command.runui invoke”
(“uplevel” body line 1)
invoked from within
“uplevel #0 [list $w invoke]”
(procedure “tk::ButtonUp” line 24)
invoked from within
"tk::ButtonUp .gronsole.command.runui
"
(command bound to event)
- if I press “Run in Xterm”, a Windows command prompt flashes briefly and then disappears.
At first I thought it was a matter of end of line characters, since I noticed that the shell scripts of the native 6.3.cvs version included in the “scripts” folder had CR/LF end of line (and they seem to work if invoked in the way I described above for my own script), while the Cygwin version of the same scripts had LF end of line. But after converting end of lines to CR/LF, I get the same results as described above when I tried to run the script. Any hints on how try running homemade scripts on native winGRASS?
Thanks and regards,
Luigi
Luigi Ponti wrote:
Dear list,
On my MS Window XP machine, I have:
- Cygwin GRASS 6.1.cvs (last Huidae Cho's version);
- Cygwin GRASS 6.2.2-1 (18-Jul-2007);
- Native winGRASS 6.3.cvs (wingrass63_cvs20070801, 01-Aug-2007).
Some observations:
The three do not interfere with each other, except for the native
winGRASS 6.3.cvs that needs to reset GISDBASE: in ~/.grassrc6 to an
absolute path at startup (c:\cygwin\home\$USER\ as opposed to
\home\$USER\ which is enough for Cygwin): next time you use a Cygwin
version, it complains that it does not find the database folder (and
vice versa when you use start the native version after a Cygwin/GRASS
session). I understand one is very likely to survive this inconvenience,
but is there a way around it?
Use different values of $HOME for Cygwin and Windows.
--
Glynn Clements <glynn@gclements.plus.com>
Glynn Clements wrote:
Luigi Ponti wrote:
Dear list,
On my MS Window XP machine, I have:
- Cygwin GRASS 6.1.cvs (last Huidae Cho's version);
- Cygwin GRASS 6.2.2-1 (18-Jul-2007);
- Native winGRASS 6.3.cvs (wingrass63_cvs20070801, 01-Aug-2007).
Some observations:
The three do not interfere with each other, except for the native
winGRASS 6.3.cvs that needs to reset GISDBASE: in ~/.grassrc6 to an
absolute path at startup (c:\cygwin\home\$USER\ as opposed to
\home\$USER\ which is enough for Cygwin): next time you use a Cygwin
version, it complains that it does not find the database folder (and
vice versa when you use start the native version after a Cygwin/GRASS
session). I understand one is very likely to survive this inconvenience,
but is there a way around it?
Use different values of $HOME for Cygwin and Windows.
My Windows $HOME has been set to “C:\cygwin\home\user” via the Windows control panel. I would not know how to set $HOME to a different value for Cygwin (“/home/user/”? This is the value I enter manually when I start Cygwin/GRASS after a native winGRASS session – because it cannot find “C:\cygwin\home\user” ). I tried setting &HOME in Cygwin via .bashrc but it did not work. The fact is that when GRASS starts up, it seems to look into GISDBASE value written in ~/.grassrc6 during the last session.
Thanks and regards,
Luigi
Luigi Ponti wrote:
>> Dear list,
>>
>> On my MS Window XP machine, I have:
>> - Cygwin GRASS 6.1.cvs (last Huidae Cho's version);
>> - Cygwin GRASS 6.2.2-1 (18-Jul-2007);
>> - Native winGRASS 6.3.cvs (wingrass63_cvs20070801, 01-Aug-2007).
>>
>> Some observations:
>>
>> The three do not interfere with each other, except for the native
>> winGRASS 6.3.cvs that needs to reset GISDBASE: in ~/.grassrc6 to an
>> absolute path at startup (c:\cygwin\home\$USER\ as opposed to
>> \home\$USER\ which is enough for Cygwin): next time you use a Cygwin
>> version, it complains that it does not find the database folder (and
>> vice versa when you use start the native version after a Cygwin/GRASS
>> session). I understand one is very likely to survive this inconvenience,
>> but is there a way around it?
>>
>
> Use different values of $HOME for Cygwin and Windows.
My Windows $HOME has been set to "C:\cygwin\home\user" via the Windows
control panel.
That's probably not a good idea. The stuff in C:\cygwin isn't
meaningful to non-Cygwin programs.
I would not know how to set $HOME to a different value
for Cygwin ("/home/user/"? This is the value I enter manually when I
start Cygwin/GRASS after a native winGRASS session -- because it cannot
find "C:\cygwin\home\user" ). I tried setting &HOME in Cygwin via
.bashrc but it did not work.
Cygwin's $HOME *should* be /home/<user>, although you can change it in
/etc/passwd.
The fact is that when GRASS starts up, it
seems to look into GISDBASE value written in ~/.grassrc6 during the last
session.
Correct. As Cygwin and Windows use different syntax for pathnames, one
~/.grassrc6 file won't work for both.
--
Glynn Clements <glynn@gclements.plus.com>
Ted Nebitko wrote:
Native winGRASS 6.3.cvs (wingrass63_cvs20070801, 01-Aug-2007).
I get the following error in the start-up script after pressing “enter grass” on placing location and mapset numbers in the opening gui (using grass63.bat)
ERROR: program ‘g.gisenv’ cannot be executed because: Neither a command line (cmd) or interactive (inter) version was found.
mail: not found while executing “exec g-gisenv get=GISDBASE” invoked from within
“set env(GISDBASE) [exec g.gisenv get=GISDBASE]”
(file “d:/grass/grass-6.3.cvs\etc\gm\gm.tcl” line31)
Were you able to start this native wingrass version without problems?
Yes Ted,
It worked fine for me.
I noticed that you have the grass folder in D:. The only thing I can think of is the advice included in the README file http://moritz.homelinux.org/grass/wingrass/README, which says "You might want to uncomment and adapt some of the environment variables in grass/bin/grass63.bat, notably WINGISBASE if you did not unzip the package it in C:". But off course you already took care of that.
Regards,
Luigi