[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