this bug's URL: http://intevation.de/rt/webrt?serial_num=922
-------------------------------------------------------------------------
Subject: NVIZ and tcl/tk AND Startup-script under Linux (SuSE 7.3)
Platform: Linux/Intel
Linux distro: SuSe
linux cpu: Intel (i486, i586, pentium ...)
Xwindows version: Xfree 4.0.x
Xwindows manager: KDE 2.x
TclTk version: tcl/tk 8.3
grass downloaded at: Trento site
grass binary for platform: Linux/Intel binaries
Two small glitches:
1. Installation was ok with the script, but nviz complained about not having access to libtk.so and libtcl.so, I had to link the most recent libtk8.3.so and libtcl8.3.so to the before mentioned files in /usr/lib (GRASS itself was not affected, only nviz).
2. I use a network-wide login on my machine which utilized YP which in turn needs a shell called "msh" as login-shell. msh is (at least here) a link to /bin/bash. Because msh itself is unknown to the ~grass5/etc/Init.sh-script, it fails to set the environment and the grass-console does not work properly (the tcl-surface is not affected).
I solved the problem by adding a msh-case in Init.sh which does the same as bash (ok this is a hack
).
Maybe these are problems on my side, but all other programs work well with this construction, except grass5, so maybe you wan't to change it.
Thanks in advance!
-------------------------------------------- Managed by Request Tracker
Request Tracker wrote:
1. Installation was ok with the script, but nviz complained about not
having access to libtk.so and libtcl.so, I had to link the most recent
libtk8.3.so and libtcl8.3.so to the before mentioned files in /usr/lib
(GRASS itself was not affected, only nviz).
We should ensure that Linux binary distributions are correctly
labelled, e.g. "RedHat 6.2 i386 Linux", not just "Linux". A package
with as many dependencies as GRASS is unlikely to work fully on a
distribution which differs from the one on which it was compiled.
2. I use a network-wide login on my machine which utilized YP which in
turn needs a shell called "msh" as login-shell. msh is (at least here)
a link to /bin/bash. Because msh itself is unknown to the
~grass5/etc/Init.sh-script, it fails to set the environment and the
grass-console does not work properly (the tcl-surface is not
affected).
This is arguably an installation bug. The fix is to ensure that SHELL
gets set to something which programs will recognise, e.g. by adding
something like:
if [ "$SHELL" = /bin/msh ] ; then
SHELL=/bin/bash
export SHELL
fi
to /etc/profile. I suspect that GRASS isn't the only program which
does case matching on $SHELL.
OTOH, GRASS should work with unknown shells. The main case statement
has a default case; does anyone know what's wrong with it?
I solved the problem by adding a msh-case in Init.sh which does the
same as bash (ok this is a hack
).
You don't need to duplicate the bash case; you can just use "|", e.g.
bash|msh)
...
--
Glynn Clements <glynn.clements@virgin.net>