WinGRASS 6 Current Status

From GRASS-Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

This page describes the current status of winGRASS development. Precompiled winGRASS/Cygwin packages are available here, native winGRASS packages are here.

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:
    • This has been solved for now by compiling XDRlib as a static library
    • 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:

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.