Installation instructions for GRASS on MS Windows with Cygwin (winGRASS)
- Program installation
- Installing data
- Setting up an icon on the Desktop
- Manually installing packages
- Reporting bugs
This UNIX oriented GRASS 6.3 for Windows version requires the Free
Cygwin UNIX compatibility software.
Alternatively, there is a native WinGRASS available.
Due to the Cygwin dependency GRASS 6.3 can not be installed directly.
Fortunately the Cygwin setup program is fairly easy to use, and both
it and GRASS can be installed by following a few simple instructions.
For installation of Cygwin, see
The instructions given there can be used with slight modification.
- Due to a
change within the Cygwin installer program you must now start Cygwin's
setup.exe from the command line as "setup.exe -X".
- At step #3 use
(or a local mirror)
instead of http://geni.ath.cx/grass.
- In step #5 the version is 6.3.0-2 instead of 6.0.cvs-1, and there's
no grass.bat script.
These should all be selected for install automatically when you select
the GRASS package (Database section).
Look inside the setup.ini file to see the specific package requirements.
In addition to the core requirements these packages are quite useful and
some GRASS modules won't work without them:
A good text editor, such as nedit, which can translate between
DOS and UNIX end-of-line text formats is also handy to have around.
- bc - command line calculator
- file - determines file types
- netpbm - image format conversions
- unzip - decompress file archives
- util-linux - provides "more", nice for g.list
- wget - command line WWW download utility
To start GRASS, double-click on the Cygwin icon and run "startx" at
the command prompt. This will start X-Windows and open a new xterm window.
At the xterm prompt type "grass63".
To start GRASS from an icon on the Desktop, see below.
In case of problems see the troubleshooting section
Create a new directory in your Cygwin home directory called
"grassdata/" for your data.
For example, using the
Spearfish sample dataset:
(assumes you have already downloaded the dataset and put the file in
your Cygwin home directory [aka "~" or c:\cygwin\home\$USER\])
$ cd ~
$ mkdir grassdata/
$ cd grassdata/
$ tar xzf ~/spearfish_grass60data-0.3.tar.gz
Then start GRASS using /home/$USER/grassdata/ as your GIS data
Starting Cygwin GRASS from an icon on the desktop:
copy c:\cygwin\cygwin.bat to c:\cygwin\cygwin_grass.bat
edit c:\cygwin\cygwin_grass.bat so it looks like this:
(add "set GRASS_AUTOSTART=1" and "-c startx")
bash --login -i -c startx
Next in your cygwin home dir add this to the end of ~/.bashrc :
# Start GRASS
if [ -n "$DISPLAY" ] && [ -n "$GRASS_AUTOSTART" ] ; then
Finally make a shortcut from cygwin_grass.bat to the Desktop.
Download the GRASS icon and select it by right-clicking on the desktop
shortcut and in "Preferences" click on Change Icon and Browse.
If some modules mysteriously fail there are a few things you can do to help
diagnose the problem. If the GUI fails (for example with a "child process
exited abnormally" error) your first check should be the region settings
module. Try typing "g.region -p" at the command line and make sure
you get reasonable values for north, south, east, west and resolution.
If a module returns you to the command prompt with no activity at all,
try typing "echo $?" immediately after to query the module's exit
code. If that says "53" you are most likely missing a library (DLL). To find
out which one run "cygcheck g.region" (replace g.region with the
offending module's name). You can then search for the name of the package
that contains the missing file at the
Cygwin package search page. Re-run the Cygwin installer to load the
missing package; it will have remembered your earlier selections.
Feel free to file a bug report as well (see below).
If the GRASS mapset selection startup screen doesn't load at all, you can
attempt to bypass it by giving the path to the mapset directly on the command
line. For example:
From outside of GRASS you can run cygcheck to check for missing
DLL libraries by first changing to GRASS's library directory:
Installing packages by hand:
(only required if you didn't install via a GRASS mirror (with "setup.ini")
from within the Cygwin installer)
The winGRASS package is just a .tar.bz2 file. It can be extracted into Cygwin's
root directory (or use setup.ini as explained in above
$ cd /
$ tar xjf /path/to/grass-6.3.0-2.cygwin.tar.bz2
Everything will be /usr/local/grass-6.3.0, except for the grass63
script which is in /usr/local/bin.
Regarding external dependencies: the only dependencies which aren't
provided by Cygwin are GDAL and Tcl/Tk. They can be downloaded
above and they have to be extracted into Cygwin's root directory
as well (or use setup.ini as explained in above
Please help us and report bugs:
Bug report form
Last changed: $Date: 2008-01-17 04:55:17 +0100 (Thu, 17 Jan 2008) $