[GRASS5] [bug #922] (grass) NVIZ and tcl/tk AND Startup-script under Linux (SuSE 7.3)

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 :slight_smile: ).

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 :slight_smile: ).

You don't need to duplicate the bash case; you can just use "|", e.g.

  bash|msh)
    ...

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