WinGRASS 6 Current Status
This page describes the current status of winGRASS development. Precompiled winGRASS/Cygwin packages are available here, native winGRASS packages are forthcoming.
Compilation
(based on work from Paul Kelly - his message)
Mostly on compiling the accompanying libraries GRASS absolutely needs: XDR, Zlib, libpng, PROJ.4, GDAL.
They are available in a gzipped tar file in case anybody would like to get started quickly: http://www.stjohnspoint.co.uk/grass/ (get wingrass-extralibs.tar.gz). In this case you would just need Msys, Mingw with bison and flex. The prefix where you untar that file you will need to supply to the GRASS configure as:
--with-includes=prefix --with-libs=prefix
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 also have to erase $(MANDIR) $(MANPAGES) from line 13 of man/Makefile, i.e. 'default: $(MANDIR) $(MANPAGES)' -> 'default:'.
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.
A working configure line is:
./configure --prefix=c:/grass --bindir=c:/grass/bin \ --with-includes=/c/grass/forgrass/include \ --with-libs=/c/grass/forgrass/lib --with-cxx --without-jpeg --without-tiff \ --without-postgres --with-opengl=windows --without-fftw --without-x \ --enable-x11=no --enable-shared=yes --with-tcltk-includes=/c/tcl/include \ --with-tcltk-libs=/c/tcl/bin
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.
You can also install Activestate Tcl/Tk 8.4.13 (in c:\tcl).
What is missing?
Vector
v.digit: implement as pure tcl(Glynn)- Vector-DB connection:
- M Lennert: I had hoped that Radim's patch for dbmi_client (http://grass.itc.it/pipermail/grass5/2006-December/028118.html) might solve the issue I've had with the db protocol errors, but apparently this is not the case. When I push the 'show the attribute columns' in a vector panel, I still get
******* Displaying column types/names for database connection of layer 1: dbmi: Protocol error Cannot open table <streams> ******** and a 'v.db.select' on the same map gives me: ******** 'vector/streams' was found in more mapsets (also found in user1). dbmi: Protocol error Cannot open select cursor *********
- P Kelly: I can confirm similar problems. I tried to import a Shapefile with v.in.ogr. I went quite deep into debugging it and got nowhere at all, although I should have taken better notes. I did confirm though that compiling the library with -mwindows as Radim suggested on the list made no difference either. I think trying with a different database, PostgreSQL perhaps is the next big step to debugging this. See if the behaviour is the same as with dbf and if not we can isolate it a bit more.
- Moritz: followup on DB issue: ... using db.select as the test case, the error seems to happen around a call to xdr_int() in lib/db/dbmi_base/xdrstring.c....
- Moritz: followup 2 on DB issue
- Moritz: followup 3 on DB issue
- Paul: followup 4 on DB issue
- Glynn: followup 5 on DB issue
- Glynn: followup 6 on DB issue
Display
- Display drivers: socket
- Use gis.m instead of monitors.
- Make gis.m Output window more like xterm. No need to hit Run.
- Is there any way that the Map Display in gis.m can interact with console commands? IPC? File Alteration Monitor?
Imagery
- i.class: SIGALRM, SIGTSTP (are these signals important?)
- wait() in:
- i.ortho.photo/photo.2image: wait()
- i.ortho.photo/photo.2target: wait()
- i.points: wait()
- i.vpoints: wait()
- Note: also in lib/gis/popen.c and lib/gis/system.c (use those implementations?)
Raster
- r.terraflow: getrusage()
Known problems
- 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.
- 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:
- Cannot display a thematic layer.
- d.vect.thematic requires PNG driver, which is not available in winGRASS.
- can't read "_data(.gronsole.gronsole,4,donecmd)": no such element in array error
- Aqua TclTk solution: http://intevation.de/rt/webrt?serial_num=5096&display=History
TclTk issues
- cannot run shell scripts: only .com, .exe, .bat
- sh -c '$cmd'
- 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
- need .exe wrapper for shell scripts? grass-xterm-wrapper.exe
- file command returns bad code (catch is needed): http://sources.redhat.com/ml/insight/2003-q1/msg00079.html
- catch {file copy}
- catch {file delete}
- catch {file rename -force} does not work. Delete old file first: catch {file delete}; catch {file rename}
- file redirection (>@stdout, 2>@stderr) does not work: http://wiki.tcl.tk/672
- exec a batch file doing redirection (>&2, 2>&1)
- no -permissions file attributes
- catch {file attributes -permissions}
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.