WinGRASS 6 Current Status

From GRASS-Wiki
Revision as of 07:21, 24 February 2007 by Neteler (talk | contribs) (v.digit now pure tcltk)
Jump to navigation Jump to search

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

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?

  • v.digit: implement as pure tcl (Glynn)
  • 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?
  • 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?)
  • r.terraflow: getrusage()
  • Vector-DB connection:
 *******
 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....

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:

TclTk issues

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.