[winGRASS] grass on cygwin first run

Glynn Clements glynn.clements at virgin.net
Sat Jan 10 00:07:58 EST 2004


Richard Greenwood wrote:

> > > I can't run grass as described in 
> > > http://grass.itc.it/grass5/binary/windows_cygnus/cygwin_grass50bininstall.html
> > > 
> > > nviz elevation.dem vect=roads & can't run because it require tcl84.dll. 
> > > I installed tcltk 8.4.4 from ActiveTcl, but nviz can't run with 
> > > following errors:
> > 
> > 
> > If NVIZ requires tcl84.dll, it hasn't been compiled correctly, and
> > won't work. Did you get a binary GRASS package, or did you build it
> > yourself?
> 
> I believe I have seen that error when I had both the Cygwin 8.4 tcltk 
> and the 'Grass' 8.3 tcltk installed. I think it is generally recommended 
> that you use only the 'Grass' 8.3 tcltk available at:
> http://grass.ibiblio.org/grass5/binary/windows_cygnus/wingrass_xserver/

I'll add to that:

What matters is the Tcl/Tk implementation which is used at compile
time. The xtcltk package only contains static libraries, so any
version of NVIZ which is built with that version doesn't need any
Tcl/Tk DLLs.

If NVIZ was built incorrectly (i.e. with Cygwin's Tcl/Tk), installing
the xtcltk package won't make it work; the only solution is to rebuild
NVIZ.

> With that said, I have never got NVIZ working under Cygwin. But I have 
> not tried very hard because I remember reading that NVIZ did not work on 
> Cygwin (although I forget where and when I read that). Is it possible? 
> And if so, can anyone (Glynn) offer any pointers?

NVIZ can be compiled and run under Cygwin. At least, it worked the
last time that I tried it.

[Note: I don't actually use Cygwin. I have occasionally built GRASS
under Cygwin for testing purposes, although I haven't done so
recently. My Windows drive tends to hover around 97% full (mostly with
games, which is about the only reason I even have a Windows drive), so
I usually have to uninstall some stuff to get enough disk space.]

As for pointers: the key factor is ensuring that GRASS finds the
Unix/X11 version of both Tcl/Tk (either the xtcltk package from the
GRASS site, or built from the stock Tcl/Tk source).

Using the wrong version of Tcl/Tk is quite common; typically, Cygwin's
version gets found first. The easiest way to avoid this problem is to
simply uninstall Cygwin's Tcl/Tk package while building. You may want
to re-install it afterwards (e.g. because Cygwin's version of gdb
won't work without it).

Apart from that, you need the X11 libraries and headers (i.e. the
XFree86 package), and a Unix/X11 version of OpenGL (either the version
which is included in XFree86 4.x, or Mesa). You need an X server to
run it; if you used the OpenGL libraries from XFree86 4.x, the X
server needs the GLX extension (this is true for the X server in
Cygwin's XFree86 4.x), while Mesa will work with any X server.

-- 
Glynn Clements <glynn.clements at virgin.net>



More information about the grass-windows mailing list