[GRASS-dev] Re: WinGrass testing results 6.3.0rc2

Moritz Lennert mlennert at club.worldonline.be
Tue Nov 27 11:07:01 EST 2007


On 27/11/07 16:35, Michael Barton wrote:
> 
> 
> On 11/27/07 3:25 AM, "Moritz Lennert" <mlennert at club.worldonline.be> wrote:
> 
>> On 27/11/07 11:07, Paul Kelly wrote:
>>> On Tue, 27 Nov 2007, Benjamin Ducke wrote:
>>>
>>>>>> NVIZ won?t launch (but did in a recent binary)
>>>> This can be somewhat tricky. For me, it fails to launch from within
>>>>  the MSYS shell
>> I cannot confirm this: If I launch grass using /c/grass/bin/grass63
>> (i.e. the shell launch script, not the .bat), nviz works perfectly for
>> me, both from the gui and from the comand line.
>>
>> (You have to change the definition of GISBASE from c:/ syntax to /c/
>> syntax for it to work...I've corrected this in the wingrass6.3RC2
>> package now
> 
> Not sure I understand this.

The above is for those who want to launch grass from within an msys 
terminal window.

> How can you launch GRASS from a command line in
> Windows? How do you get a command line to launch it from?

For normal users (who do not work with msys as their terminal - you 
don't even need msys installed to do this):

- Open Start menu -> Run command -> type cmd.exe
- In cmd.exe type c:\PathToGrassFolder\bin\grass63.bat
- If you then want to launch the gis manager, type gis.m

> 
> Probably a good idea to always run it from the *.bat file during development
> to make sure it works that way, since that's how most people will run it.

Yes, but just as in the other environments you can run grass in windows 
as a command line or a gui application (or both).

> 
>>>> as well as a sh.exe started via Window's cmd.exe.
>> Could you be more precise as to what exactly you are doing ? Do you
>> launch grass via grass63.bat and then launch sh.exe within a running
>> grass session ?
>>
>>> That might be because the Msys shell doesn't recognise a .bat file
>>> (in this case nviz.bat) as an executable and/or can't run it. What
>>> happens if you add the GRASS scripts directory ($GISBASE/scripts
>>> IIRC) to your path? Then it should pick up the nviz shell script that
>>> will (should be???) installed in there.
>> If you run grass in msys you have to run the grass63 file which then
>> calls Init.sh which sets the path to the scripts directory.
> 
> Again, I'm not sure how one actually does this. Is there a problem of which
> gets launched first--mysys or TclTk?

Ok, let's clear things up a bit (and yes, I know I should do this on the 
wiki ASAP):

The general philosophy of the windows port of grass is that it should be 
a completely native application, with no need of any kind of *nix 
emulation. For most of grass this is now possible, which means all you 
need to install to run grass is tcltk and my binary package. Nothing 
else, not even msys !

On that basis you can launch grass either by clicking on the grass63.bat 
  file or by launching it from the command line as explained above. As 
in other environments, the choice of GRASS_GUI is stored in the 
.grassrc6 file which is stored by default in the %USERPROFILE% 
directory, which normally defaults to C:\Documents and 
Settings\username. So, you can change GRASS_GUI to text and grass will 
open in text mode, even if you click on the grass63.bat file.

What does not work in this setup are the many scripts as these are shell 
scripts and thus need a *nix-like shell environment to run, including a 
series of tools such as sed, awk, etc. If you need those, you can 
install msys in order to have a shell (sh.exe) and the necessary tools. 
Edit the grass63.bat file in order to set the path to where you 
installed msys (e.g. c:\msys\bin and c:\msys\lib) and to sh.exe. Now you 
should be able to run most scripts.

For those who would like to get the *nix look and feel in windows, they 
can do so by launching GRASS directly from within an msys shell (opened 
by going into the Start menu -> Applications ->Msys). But as this is a 
*nix emulation, you have to use the grass63, not the grass63.bat file to 
start grass (both are in the same directory). There used to be a problem 
with path syntax in the grass63 file (as explained above), but I 
corrected this this morning.

I hope this clarifies the issue a bit.

Moritz


More information about the grass-dev mailing list