WinGRASS 6 Current Status: Difference between revisions

From GRASS-Wiki
Jump to navigation Jump to search
(cleanup)
 
(107 intermediate revisions by 10 users not shown)
Line 1: Line 1:
__TOC__
__TOC__


This page describes the current status of winGRASS development:
This page describes the current status of winGRASS 6 development as of mid-2013
* Precompiled winGRASS/Cygwin packages are available [http://grass.itc.it/grass62/binary/mswindows/ here],
 
* native winGRASS packages are [http://geog-pc40.ulb.ac.be/grass/wingrass/ here].
* '''[http://grass.osgeo.org/download/software/ms-windows/ Lastest binary downloads]'''
 
* ''Older precompiled winGRASS/[[Cygwin]] packages are available for [http://grass.osgeo.org/grass64/binary/mswindows/cygwin/ GRASS 6.4], ''


== Current status - Summary ==
== Current status - Summary ==


The native windows port of GRASS is slowly coming to a stage where it can be considered beta status. All main functions seem to work, but much more testing is needed. The port is of the current cvs branch GRASS 6.3. There are no ports of earlier versions.
The native windows port of GRASS is slowly coming to a stage where it can be considered mature beta status. All main functions seem to work, but much more testing is needed. The port is of the current SVN release branch 6 for GRASS 6.4. The only prior native port of an earlier version is 6.3.0.


The general idea is to reach a point where GRASS runs in Windows without any kind of unix emulation. Currently, this is possible, but limits the use to compiled modules as scripts are all of unix-shell type and cannot run within a Windows cmd.exe environment without a series of unix tools such as a shell, awk, sed, etc. So in order to run such scripts a collection of unix-like tools needs to be installed, such as Msys or Gnuwin32+Shell.
The general idea is to reach a point where GRASS runs in MS-Windows without any kind of UNIX emulation. Currently this is possible but limits the use to compiled modules, as scripts are all of UNIX-shell type and cannot run within a Windows cmd.exe environment without a series of UNIX tools such as a shell, awk, sed, etc. So in order to run such scripts a collection of UNIX-like tools needs to be installed, such as Msys or Gnuwin32+Shell.


Another major feature not available in the windows version are the old-style interactive X monitors (i.e. the x0, PNG, PS, Cairo, etc, monitors opened with '<tt>d.mon&nbsp;x0</tt>'). Only direct rendering works currently. Display is thus "limited" to the Tcl/Tk and wxPython GUIs (the latter might still need some cleanup of unix-specific code). Modules like i.points and d.zoom will not work (see [[#Known_Issues]]).
Another major feature not available in the MS-Windows version are the old-style interactive X monitors (i.e. the x0 monitors opened with '<tt>{{cmd|d.mon}}&nbsp;x0</tt>'). Only direct rendering works currently. Display is thus "limited" to the [[WxGUI|wxPython]] and Tcl/Tk GUIs. Modules like {{cmd|i.points}} and {{cmd|d.zoom}} will not work due to their interactive monitor requirements (see [[#Known_Issues]]).


== Installing binary snapshots ==
== Installing binary snapshots ==


Regular binary snapshots for windows are available [http://geog-pc40.ulb.ac.be/grass/wingrass/ here]. To install them, just download and unzip. In order to be able to use the graphical user interface, you also have to download and install [http://www.activestate.com/products/activetcl/ ActiveState Tcl].
Regular binary snapshots for Windows are available from the main GRASS [http://grass.osgeo.org/download/software/ms-windows/ download page].


You can then launch the GRASS GUI by clicking on the grass63.bat which is in c:\grass\bin\ (or wherever you unzipped the package). This should launch the GUI which gives you access to all GRASS modules.
== Compiling by yourself ==


If you like the command line, you can launch Windows' cmd.exe via Start->Run->cmd.exe. Then type 'c:\grass\bin\grass63.bat -text' to launch grass without the GUI. If you want to access the GUI at a later stage, just type 'gis.m'.
=== Guide ===


If you want to have access to shell scripts, you also have to install [http://sourceforge.net/project/downloading.php?groupname=mingw&filename=MSYS-1.0.11-2004.04.30-1.exe Msys] and then adapt the grass63.bat script according to the examples in the file.
All the information needed for compiling yourself can be found in '''''[http://trac.osgeo.org/grass/wiki/CompileOnWindows Compiling GRASS on MS-Windows]'''''
 
See also '''[http://trac.osgeo.org/grass/wiki/BuildingOnWindows BuildingOnWindows]'''


== Compiling by yourself ==


(based on work from Paul Kelly - [http://lists.osgeo.org/pipermail/grass-dev/2006-December/028097.html his message])
=== Nullsoft installer ===


=== Requirements ===
See http://trac.osgeo.org/grass/browser/grass/branches/develbranch_6/mswindows


* To compile winGRASS natively, you need the following additional libraries: ''libpng, PROJ.4, GDAL, Zlib, XDR''. They are available in a gzipped tar file (to get started quickly): http://www.stjohnspoint.co.uk/grass/ (get wingrass-extralibs.tar.gz).
[[Image:Wingrass63 installer1.jpg|220px|New winGRASS installer 1]]
* Additionally, you need [http://www.mingw.org/download.shtml Msys & MingW] (current version)
[[Image:Wingrass63 installer2.jpg|220px|New winGRASS installer 2]]
* [http://www.mingw.org/MinGWiki/index.php/bison bison]
[[Image:Wingrass63 installer3.jpg|220px|New winGRASS installer 3]]
* [http://www.mingw.org/MinGWiki/index.php/flex flex]


Decompressing bison and flex in the root msys directory should position the files in the correct directories.
* Note the "Important Microsoft Runtime Libraries" option. Some of the software which ships with GRASS will not run if these system libraries are not already present, and unfortuantely Microsoft does not install them by default, you need to install the .Net framework or Visual C++ compiler runtime support to get them. These libraries are not part of GRASS but we give the user the opportunity to download and install them during the install if they are needed. Typically a computer with a lot of software already installed may have them, a new computer is likely to be missing them. If they are not installed the symptom is that the GRASS window momentarily flashes on the screen then disappears at start up, closing before you can see the error message.
: See [[#Platform specific issues]] below for more details and download links.


== Known Issues  ==


See also
* [[WinGRASS errors]] - Questions and answers for users
* [https://trac.osgeo.org/grass/wiki/CompileOnWindows#Errata WinGrass current bug list]


'''Optionally:'''
=== General ===
* Freetype
* FFTW
* PDCurses


''TODO: is PDCurses really optionally?''
* '''Spaces in path names'''
** GIS data directory: It is generally safe to have spaces in your GIS data directory path, but there are few spots where it might still get confused and chop the path off at the first space. If you find one please report it to the bug tracker, the sooner we know about it the sooner we can fix it.
: Workaround: if this is causing problems for you the quick solution is to rename the GIS data directory and replace all spaces with underscores (_).


=== Configuration and compilation ===
* The '''{{cmd|d.mon}}''' X monitors won't work. These use UNIX pipes and won't work on Windows without a lot of work.
: Solution: use {{cmd|d.mon|version=70}} wx0 or the wxGUI ([http://wingrass.fsv.cvut.cz/grass70/ winGRASS 7])


The prefix where you untar that file you will need to supply to the GRASS configure as:
=== Won't fix (at least not immediately) ===


      --with-includes=prefix --with-libs=prefix
Issues listed here are rather impossible to fix due to the different nature of native Windows. Or, lend us a hand and let's try harder!


Before compilation, you need to set your path in msys in order to add the path to the lib/ and bin/ directories of Paul's tarball before compiling. You might also need to edit the first few lines of the gdal-config script in the bin/ directory, to reflect the path where it is actually installed.
* No X monitors in winGRASS 6:


You also have to erase $(MANDIR) $(MANPAGES) from line 13 of man/Makefile, i.e. 'default: $(MANDIR) $(MANPAGES)' -> 'default:'.
This means that you cannot launch any monitor launched with d.mon (x0, PNG, PS, etc). The only way you can render is directly to a file. But you cannot directly display to screen from the command line. This will be solved in GRASS 7 with a new rendering system and possibly via the new wxgrass GUI. So no work will probably be put into this until then.  


If you get an error such as 'cannot open file `/msys/share/bison/m4sugar/m4sugar.m4': No such file or directory', one solution is to move around the msys bison installation a bit, so that m4sugar.m4 is available in the indicated path.
The absence of monitors also makes impossible the use of interactive modules based on these monitors, such as:


A working configure line is:
** i.class. However, it has been integrated into GRASS 7's wxGUI as {{cmd|g.gui.iclass|version=70}} ([http://wingrass.fsv.cvut.cz/grass70/ winGRASS 7])
      ./configure --prefix=c:/grass --bindir=c:/grass/bin \
** i.ortho.photo/photo.2image
      --with-includes=/c/grass/forgrass/include \
** i.ortho.photo/photo.2target
      --with-libs=/c/grass/forgrass/lib --with-cxx --without-jpeg --without-tiff \
** i.points
      --without-postgres --with-opengl=windows --without-fftw --without-x \
** i.vpoints
      --enable-shared=yes --with-tcltk-includes=/c/tcl/include \
      --with-tcltk-libs=/c/tcl/bin


The configure line used for the current binary snapshots can be seen [http://geog-pc40.ulb.ac.be/grass/wingrass/winconfig.log here].
i.points and i.vpoints have already been replaced by the {{cmd|g.gui.gcp|version=70}} georectifier module (File -> Georectify).
'''Volunteers needed''' for i.ortho.* GUI.


Compile with make.
Another module affected is d.vect.thematic which uses monitors. This will hopefully be replaced by a C-version in a not too far future.


After compiling you should copy libxdr.dll, libproj.dll, libpng.dll, libgdal-1.dll and libz.dll.1.2.3 into the GRASS lib directory and all the GDAL and PROJ .exe files in the bin directory into the GRASS bin directory, and then you have a more or less self-contained GRASS distribution.
* Scripts need *nix-like shell


For the GUI, including for displaying anything, you need to install [http://www.activestate.com/downloads/ Activestate Tcl/Tk] 8.4.13 (in c:\tcl).
All current GRASS 6.4 scripts are written in shell language. This means they need a shell, and several related tools (awk, sed, etc), to function. The actual WinGrass 6.4-installer includes Msys, so all shell-scripts should work.


== Known Issues  ==
In 7.0, these scripts have been rewritten in Python, thus totally eliminating the need for any shell, see [[WinGRASS 7 Current Status]] and [https://trac.osgeo.org/grass/wiki/Grass7/NewFeatures GRASS GIS 7 - New Features].


See also [http://www.nabble.com/forum/Search.jtp?query=wingrass&sort=date&local=y&forum=1200 GRASS Mailing list archives] and the compilation error log [http://geog-pc40.ulb.ac.be/grass/wingrass/winmakeerror.log here].
=== Missing modules ===


=== Won't fix (at least not immediately) ===
* The r.le landscape modelling suite:
** r.le.setup, r.le.trace: not ported yet
: Solution: use r.li.*
** r.le.pixel, r.le.patch: available
* Some GUI helper scripts such as g.change.gui.py and v.type.py
** v.type => in the wx-command-line choice confusion of v.type, 1x v.type_wrapper.py and 3x v.type_wrapper.sh
** v.type_wrapper.py crashes
* The wxnviz 3D visualization module for the new wxGUI. Use NVIZ available from the old Tcl/Tk GIS.m GUI instead.
: use [http://wingrass.fsv.cvut.cz/grass70/ winGRASS 7]
* v.out.gpsbabel fails to start m.proj although present
: Use v.out.gps
* i.ortho.photo => greyed out, requires xterm unavailable in MS-Windows
: Work in progress in winGRASS7
* i.class => greyed out, requires xterm unavailable in MS-Windows
: integrated into GRASS 7's wxGUI as {{cmd|g.gui.iclass|version=70}} ([http://wingrass.fsv.cvut.cz/grass70/ winGRASS 7])
* r.digit => greyed out, requires xterm unavailable in MS-Windows


* No monitors
=== Platform specific issues ===
==== XP/2000 ====


This means that you cannot launch any monitor launched with d.mon (x0, PNG, PS, etc). The only way you can render directly to a file is setting GRASS_RENDER_IMMEDIATE=TRUE on the command line. But you cannot directly display to screen from the command line. This will be solved in GRASS 7 with a new rendering system and possibly via the new wxgrass GUI. So no work will probably be put into this until then.  
If the GRASS GUI startup fails with "[Error 14001]" in the MSys terminal on a relatively fresh install of XP, the solution is to install some missing DLL files from Microsoft which apparently don't come standard.
If these library files are missing, [http://www.qgis.org Quantum GIS] and other software from the [http://osgeo4w.osgeo.org OSGeo4W] stack will likely encounter the same trouble as well.


The absence of monitors also makes impossible the use of interactif modules based on these monitors, such as:
You'll need to install a number of packages: (in order)


** i.class
* MS's Windows Installer 3.1 Redistributable (v2)
** i.ortho.photo/photo.2image
: http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=25
** i.ortho.photo/photo.2target
** i.points
** i.vpoints


i.points and i.vpoints have already been replaced by the gis.m georectifier module (File -> Georectify). In replacement of i.class you can digitize training areas with v.digit. This will not however, give you all the information i.class provides, such as the histogram of the region, the statistics and the display of matches. These modules will have to be rewritten to clearly separate display and backend parts, so that the backend can be run on the command line or from any GUI frontend. Volunteers needed.  
* MS's .net framework 3.5 downloader
: http://www.microsoft.com/download/en/details.aspx?id=21


Another module affected is d.vect.thematic which uses monitors. This will hopefully be replaced by a C-version in a not too far future.
* MS's Visual C++ 2010 Redistributable Package:
: http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=5555


* Scripts need *nix-like shell
It is recommended to run Windows updates after installing these.


All current GRASS scripts are written in shell language. This means they need a shell, and several related tools (awk, sed, etc), to function. This means that whoever wants to be able to run these scripts has to install a shell with these tools. Currently recommended is [http://sourceforge.net/project/downloading.php?groupname=mingw&filename=MSYS-1.0.11-2004.04.30-1.exe Msys] as this is a simple install of a package containing everything which is needed.
==== Windows7 ====


It is planned that these scripts be rewritten in a more portable language such as Python, thus totally eliminating the need for any shell. But this will probably not happen until the python wxgrass GUI is officially declared stable, thus making Python a mandatory requirement anyhow. Volunteers needed.
* <font size="+1">Missing MSVCR71.dll or MSVCP100.dll library causes GRASS to <font color="#aa2200">exit immediately upon startup</font></font>.
: For the solution, see [[WinGRASS errors]]


=== ToDo ===
=== ToDo ===
==== Dependencies ====
===== GRASS Dependencies =====
* add the FFMPEG support in GRASS (reports an error in building OGSF library; probably needs to specify -lavutil in gcc command) ***
===== Non-Free GDAL Plugins =====
(''can't be shipped as part of the GRASS package directly due to various levels of non-freeness, but can be made into user-installable plugins'')
* ECW support in GDAL */**
* JPEG2000 support in GDAL (through Jasper or Kadaku *) **
* OGDI support in GDAL *
* MrSID support in GDAL */**
===== GRASS and GDAL Dependencies =====
* add the Xerces support in both GDAL and GRASS *
* add the ODBC support in both GDAL and GRASS */**
* add the MySQL support in both GDAL and GRASS */**
===== Miscellaneus Dependencies =====
* add the OpenSSL support in both PostgreSQL and SQLite *
<br>
<nowiki>*</nowiki> needs to build related libraries from source in MinGW
<br>
<nowiki>**</nowiki> needs to check the licences first
<br>
<nowiki>***</nowiki> FFMPEG has been already succesfully built on MinGW
==== Internal Libraries ====
* parser: find out why launching a module from the command line without parameters does not call module GUI


==== Vector modules ====
==== Vector modules ====


* <strike>v.digit: implement as pure tcl</strike> (Glynn)
* v.in.ascii crashes on files with irregular line length (see [http://lists.osgeo.org/pipermail/grass-dev/2008-February/035268.html this thread]) - still true, 2014?
* <strike>Vector-DB connection</strike>: This has been solved by rewriting the dbmi lib to make it independent of XDR (Glynn)


==== Raster modules ====
==== Raster modules ====
* r.terraflow does not compile


This seems to be due to the use of the function getrusage() which is not supported under MinGW.
* The [[wxGUI]] has an issue when trying to run {{cmd|r.mapcalc}} with the <tt>||</tt> "or" operator from the wxGUI built-in command entry box on the command console tab of the Layer Manager. You can work around this by running r.mapcalc using the Map Calculator GUI, or from a real command line (in that case remember to "quote" the expression).
Check this octave patch [http://osdir.com/ml/gnu.octave.maintainers/2006-03/msg00083.html email thread].
 
* The same wxGUI built-in command entry box on the command console tab requires file names with paths to be fully "quoted", e.g. ''input="C:\data\positions.csv"'', or else the "\" characters are lost.


==== GRASS 6 Addons ====
* Not all the GRASS [[Addons]] are available from the [[wxGUI]] extension manager. Problems still exist with running Python scripts. The command line version of {{cmd|g.extension}} requires the full [[osgeo4w]] build environment, which is not installed on most Windows users' computers, so you need to use the pre-built downloads from the wxGUI extension tool. The wxGUI manager will download the nightly pre-built Addon executables ([http://wingrass.fsv.cvut.cz/grass64/addons/ Status of winGRASS 6 Addons] availability).


==== TclTk issues ====
==== Tcl/Tk issues ====


* var=val style argument is not valid for batch files: equal sign is a separator like a space. http://support.microsoft.com/?kbid=71247 http://www.gatago.com/alt/msdos/batch/17358926.html
* var=val style argument is not valid for batch files: equal sign is a separator like a space. http://support.microsoft.com/?kbid=71247 http://www.gatago.com/alt/msdos/batch/17358926.html
** Could you give an example of where this is a problem ?
** Could you give an example of where this is a problem ?
* <strike>need .exe wrapper for shell scripts? grass-xterm-wrapper.exe</strike>
** We now have .bat wrappers for each shell script, which run the shell specified by the GRASS_SH environment variable and pass the full path to the script to it
* file command returns bad code (catch is needed): http://sources.redhat.com/ml/insight/2003-q1/msg00079.html
* file command returns bad code (catch is needed): http://sources.redhat.com/ml/insight/2003-q1/msg00079.html
** catch {file copy}
** catch {file copy}
** catch {file delete}
** catch {file delete}
** catch {file rename -force} does not work. Delete old file first: catch {file delete}; catch {file rename}
** catch {file rename -force} does not work. Delete old file first: catch {file delete}; catch {file rename}
* <strike>file redirection (>@stdout, 2>@stderr) does not work: http://wiki.tcl.tk/672</strike>
** Worked around by using a small C-program (grocat.exe) to combine stdout and stderr
** exec a batch file doing redirection (>&2, 2>&1)
** exec a batch file doing redirection (>&2, 2>&1)
* no -permissions file attributes
* no -permissions file attributes
Line 134: Line 190:


* metacharacter escape in "sh -c '$cmd'"
* metacharacter escape in "sh -c '$cmd'"
* modules not working: r.proj (v.proj too?), r.surf.rst, v.neighbors, v.kernel, r.cost
* Cannot open Help pages.
* Have to add c:\mingw\bin to PATH on some systems.
** You should have typed c:/mingw instead of c:\mingw when asked by the MinGW installer.
* Have to type "exit" in the console to save ~/.grassrc file. Then, close gis.m to finish the session.
* Have to type "exit" in the console to save ~/.grassrc file. Then, close gis.m to finish the session.
* A previous installation of grass under cygwin is likely to cause problems with WinGrass. Follow the directions to remove cygwin at http://cygwin.com/faq/faq-nochunks.html#faq.setup.uninstall-all
* A previous installation of grass under cygwin is likely to cause problems with WinGrass. Follow the directions to remove cygwin at http://cygwin.com/faq/faq-nochunks.html#faq.setup.uninstall-all
The following items cannot be fixed in the near future:
** can't read "_data(.gronsole.gronsole,4,donecmd)": no such element in array error
*** Could you be more precise about this error ? When does it occur ?


== Dealing with shell scripts or .bat files ==
== Dealing with shell scripts or .bat files ==
Line 166: Line 212:
== Related efforts ==
== Related efforts ==


* http://wiki.osgeo.org/index.php/OSGeo_Win32_Installer
* http://trac.osgeo.org/osgeo4w/wiki/pkg-grass
 
== See also ==
 
* [[WinGRASS errors]] - Questions and answers for users


[[Category: Development]]
[[Category: Development]]
[[Category: WinGRASS]]

Latest revision as of 21:19, 19 August 2014

This page describes the current status of winGRASS 6 development as of mid-2013

Current status - Summary

The native windows port of GRASS is slowly coming to a stage where it can be considered mature beta status. All main functions seem to work, but much more testing is needed. The port is of the current SVN release branch 6 for GRASS 6.4. The only prior native port of an earlier version is 6.3.0.

The general idea is to reach a point where GRASS runs in MS-Windows without any kind of UNIX emulation. Currently this is possible but limits the use to compiled modules, as scripts are all of UNIX-shell type and cannot run within a Windows cmd.exe environment without a series of UNIX tools such as a shell, awk, sed, etc. So in order to run such scripts a collection of UNIX-like tools needs to be installed, such as Msys or Gnuwin32+Shell.

Another major feature not available in the MS-Windows version are the old-style interactive X monitors (i.e. the x0 monitors opened with 'd.mon x0'). Only direct rendering works currently. Display is thus "limited" to the wxPython and Tcl/Tk GUIs. Modules like i.points and d.zoom will not work due to their interactive monitor requirements (see #Known_Issues).

Installing binary snapshots

Regular binary snapshots for Windows are available from the main GRASS download page.

Compiling by yourself

Guide

All the information needed for compiling yourself can be found in Compiling GRASS on MS-Windows

See also BuildingOnWindows


Nullsoft installer

See http://trac.osgeo.org/grass/browser/grass/branches/develbranch_6/mswindows

New winGRASS installer 1 New winGRASS installer 2 New winGRASS installer 3

  • Note the "Important Microsoft Runtime Libraries" option. Some of the software which ships with GRASS will not run if these system libraries are not already present, and unfortuantely Microsoft does not install them by default, you need to install the .Net framework or Visual C++ compiler runtime support to get them. These libraries are not part of GRASS but we give the user the opportunity to download and install them during the install if they are needed. Typically a computer with a lot of software already installed may have them, a new computer is likely to be missing them. If they are not installed the symptom is that the GRASS window momentarily flashes on the screen then disappears at start up, closing before you can see the error message.
See #Platform specific issues below for more details and download links.

Known Issues

See also

General

  • Spaces in path names
    • GIS data directory: It is generally safe to have spaces in your GIS data directory path, but there are few spots where it might still get confused and chop the path off at the first space. If you find one please report it to the bug tracker, the sooner we know about it the sooner we can fix it.
Workaround: if this is causing problems for you the quick solution is to rename the GIS data directory and replace all spaces with underscores (_).
  • The d.mon X monitors won't work. These use UNIX pipes and won't work on Windows without a lot of work.
Solution: use d.mon wx0 or the wxGUI (winGRASS 7)

Won't fix (at least not immediately)

Issues listed here are rather impossible to fix due to the different nature of native Windows. Or, lend us a hand and let's try harder!

  • No X monitors in winGRASS 6:

This means that you cannot launch any monitor launched with d.mon (x0, PNG, PS, etc). The only way you can render is directly to a file. But you cannot directly display to screen from the command line. This will be solved in GRASS 7 with a new rendering system and possibly via the new wxgrass GUI. So no work will probably be put into this until then.

The absence of monitors also makes impossible the use of interactive modules based on these monitors, such as:

    • i.class. However, it has been integrated into GRASS 7's wxGUI as g.gui.iclass (winGRASS 7)
    • i.ortho.photo/photo.2image
    • i.ortho.photo/photo.2target
    • i.points
    • i.vpoints

i.points and i.vpoints have already been replaced by the g.gui.gcp georectifier module (File -> Georectify). Volunteers needed for i.ortho.* GUI.

Another module affected is d.vect.thematic which uses monitors. This will hopefully be replaced by a C-version in a not too far future.

  • Scripts need *nix-like shell

All current GRASS 6.4 scripts are written in shell language. This means they need a shell, and several related tools (awk, sed, etc), to function. The actual WinGrass 6.4-installer includes Msys, so all shell-scripts should work.

In 7.0, these scripts have been rewritten in Python, thus totally eliminating the need for any shell, see WinGRASS 7 Current Status and GRASS GIS 7 - New Features.

Missing modules

  • The r.le landscape modelling suite:
    • r.le.setup, r.le.trace: not ported yet
Solution: use r.li.*
    • r.le.pixel, r.le.patch: available
  • Some GUI helper scripts such as g.change.gui.py and v.type.py
    • v.type => in the wx-command-line choice confusion of v.type, 1x v.type_wrapper.py and 3x v.type_wrapper.sh
    • v.type_wrapper.py crashes
  • The wxnviz 3D visualization module for the new wxGUI. Use NVIZ available from the old Tcl/Tk GIS.m GUI instead.
use winGRASS 7
  • v.out.gpsbabel fails to start m.proj although present
Use v.out.gps
  • i.ortho.photo => greyed out, requires xterm unavailable in MS-Windows
Work in progress in winGRASS7
  • i.class => greyed out, requires xterm unavailable in MS-Windows
integrated into GRASS 7's wxGUI as g.gui.iclass (winGRASS 7)
  • r.digit => greyed out, requires xterm unavailable in MS-Windows

Platform specific issues

XP/2000

If the GRASS GUI startup fails with "[Error 14001]" in the MSys terminal on a relatively fresh install of XP, the solution is to install some missing DLL files from Microsoft which apparently don't come standard. If these library files are missing, Quantum GIS and other software from the OSGeo4W stack will likely encounter the same trouble as well.

You'll need to install a number of packages: (in order)

  • MS's Windows Installer 3.1 Redistributable (v2)
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=25
  • MS's .net framework 3.5 downloader
http://www.microsoft.com/download/en/details.aspx?id=21
  • MS's Visual C++ 2010 Redistributable Package:
http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=5555

It is recommended to run Windows updates after installing these.

Windows7

  • Missing MSVCR71.dll or MSVCP100.dll library causes GRASS to exit immediately upon startup.
For the solution, see WinGRASS errors

ToDo

Dependencies

GRASS Dependencies
  • add the FFMPEG support in GRASS (reports an error in building OGSF library; probably needs to specify -lavutil in gcc command) ***
Non-Free GDAL Plugins

(can't be shipped as part of the GRASS package directly due to various levels of non-freeness, but can be made into user-installable plugins)

  • ECW support in GDAL */**
  • JPEG2000 support in GDAL (through Jasper or Kadaku *) **
  • OGDI support in GDAL *
  • MrSID support in GDAL */**
GRASS and GDAL Dependencies
  • add the Xerces support in both GDAL and GRASS *
  • add the ODBC support in both GDAL and GRASS */**
  • add the MySQL support in both GDAL and GRASS */**
Miscellaneus Dependencies
  • add the OpenSSL support in both PostgreSQL and SQLite *


* needs to build related libraries from source in MinGW
** needs to check the licences first
*** FFMPEG has been already succesfully built on MinGW

Internal Libraries

  • parser: find out why launching a module from the command line without parameters does not call module GUI

Vector modules

  • v.in.ascii crashes on files with irregular line length (see this thread) - still true, 2014?

Raster modules

  • The wxGUI has an issue when trying to run r.mapcalc with the || "or" operator from the wxGUI built-in command entry box on the command console tab of the Layer Manager. You can work around this by running r.mapcalc using the Map Calculator GUI, or from a real command line (in that case remember to "quote" the expression).
  • The same wxGUI built-in command entry box on the command console tab requires file names with paths to be fully "quoted", e.g. input="C:\data\positions.csv", or else the "\" characters are lost.

GRASS 6 Addons

  • Not all the GRASS Addons are available from the wxGUI extension manager. Problems still exist with running Python scripts. The command line version of g.extension requires the full osgeo4w build environment, which is not installed on most Windows users' computers, so you need to use the pre-built downloads from the wxGUI extension tool. The wxGUI manager will download the nightly pre-built Addon executables (Status of winGRASS 6 Addons availability).

Tcl/Tk issues

Miscellaneous

  • metacharacter escape in "sh -c '$cmd'"
  • Have to type "exit" in the console to save ~/.grassrc file. Then, close gis.m to finish the session.
  • A previous installation of grass under cygwin is likely to cause problems with WinGrass. Follow the directions to remove cygwin at http://cygwin.com/faq/faq-nochunks.html#faq.setup.uninstall-all

Dealing with shell scripts or .bat files

Bourne shell scripts require MSys (or some other Bourne shell), but you don't need to start GRASS from MSys.

The main issue with scripts is that Windows doesn't understand the "#!" notation used to specify the interpreter.

All of the supplied scripts in $GISBASE/scripts have a corresponding .bat file in $GISBASE/bin which invokes script via %GRASS_SH%. This allows you to run those scripts from the Windows command prompt.

If you write scripts of your own, you need to either add a corresponding .bat file, or give the script a .sh extension and associate that with the shell, e.g. via the ftype and assoc commands. You can use the PATHEXT variable to eliminate the need to type the extension.

Other libraries

GDAL

  • lib/gis/OBJ.*/fmode.o is needed for any GRASS related modules.
  • modified ltmain.sh to install binary files from wrapper scripts.
  • see also GDAL Building With MinGW

Related efforts

See also