[comp.sys.encore] Problems with /bin/sh and /usr/old/sh

cwilson@clapton.austek.oz (Chris Wilson) (02/01/91)

	I am having problems with the standard bourne shell under Umax
4.3 (4.0.0). It seems to be an old version of the shell and does not
like scripts that run perfectly on other machines (Ultrix and Sunos
4.1). The problems I have found are:

	It doesn't have functions

	Constructs line ${parameter:=word} don't work

	Sometimes, invoking a script several levels deep doesn't work.
	The script just exits silently. This occurs in installing
	X11R4 (in particular lib/Xt) where the Makefile calls
	/bin/install to install some include files.

I have tried /usr/old/sh. All the problems I have found don't occur
with this but the it won't work properly on NFS mounted file systems
(it doesn't glob file names).

My question is: Is there a later version on /bin/sh that is slightly
more modern and doesn't suffer from these problems ? Is there a
version of /usr/old/sh that will work on NFS file systems?

Thanks in advance for any information.

Chris Wilson
Austek Microsystems Pty. Ltd., Technology Park, Adelaide, SA 5095 Australia
Phone: +61-8-260-0155		Fax: +6-18-260-8261
ACSnet:	cwilson@austek.oz	Internet:  cwilson@austek.oz.au
UUCP: uunet.uu.net!munnari!austek.oz.au!cwilson

john@loverso.leom.ma.us (John Robert LoVerso) (02/04/91)

This came up a few months ago.  Last time I checked, the /bin/sh
under UMAX4.3 (R4_0) was the 4.3BSD (maybe "-tahoe") /bin/sh.
Whereas, the /usr/old/sh was the UMAX4.2 R3_x /bin/sh, which was
from the BRL distribution of the SysVr2 Bourne shell.  The problems
you listed exist because either those features didn't exist in the
circa-1978 /bin/sh now found in UMAX, or because they are bugs fixed
since then in the SysV /bin/sh.

It's a strange bug that /usr/old/sh doesn't glob on NFS mounted
file systems - it could be a problem in its use of the standard
directory reading routines.  If you haven't reported it to Encore,
you should.  And don't forget to tell them you'd like the modern
Bourne shell be the supported one under Umax4.3!

As for other things you can try:  If you have a UMAX V machine
around, try the /bin/sh from there.  It is guaranteed to be a modern
/bin/sh.  Because Encore, much to their credit, has kept all the
different operating systems for the Multimax binary compatible
(i.e., even with their MACH release), it has a good chance of
working.

You could also try the GNU Shell, Bash, but I've never had any
direct experience with it and it is still under active development.

John
-- 
John Robert LoVerso <john@loverso.leom.ma.us>
John & Sue's House, Leominster MA

composer@chem.bu.edu (Jeff Kellem) (02/04/91)

In article <03Feb91.225250@loverso.leom.ma.us> john@loverso.leom.ma.us (John Robert LoVerso) writes:

   It's a strange bug that /usr/old/sh doesn't glob on NFS mounted
   file systems - it could be a problem in its use of the standard
   directory reading routines.  If you haven't reported it to Encore,
   you should.  And don't forget to tell them you'd like the modern
   Bourne shell be the supported one under Umax4.3!

It is unlikely, but (I suppose) still possible.. that /usr/old/sh was not
recompiled under Umax4.3, but was just copied over from Umax4.2.  If it
was, it would have been a serious oversight and should be recompiled under
Umax4.3; anything that uses getwd and opendir library calls would need to
be recompiled.  When a Multimax on campus was upgraded to Umax4.3, the
people doing the upgrade originally just copied tcsh from the backup tapes
of the machine when it was running Umax4.2; tcsh could not glob on NFS
mounted file systems.  FYI...

   As for other things you can try:  If you have a UMAX V machine
   around, try the /bin/sh from there.  It is guaranteed to be a modern
   /bin/sh.  Because Encore, much to their credit, has kept all the
   different operating systems for the Multimax binary compatible
   (i.e., even with their MACH release), it has a good chance of
   working.

Except, there's one problem.  You can take a binary from a Umax4.x machine
and run it on a Umax V machine, but *not* vice versa.  So, you are probably
out of luck trying to copy the /bin/sh binary from a Umax V machine.  Oh
well.

   You could also try the GNU Shell, Bash, but I've never had any
   direct experience with it and it is still under active development.

BASH is still under active development, but does work under Umax4.x.  If
you decide to grab BASH, I would wait until version 1.07 (which Brian, the
author, is putting together) appears on prep.ai.mit.edu.  A lot bugs from
version 1.05 are fixed in that release; there are also some new features.
Version 1.07 should hopefully be a pretty stable release.  Watch for an
announcement on the bug-bash mailing list (aka gnu.bash.bug) and the
info-gnu mailing list (aka gnu.announce).

Cheers...

			-jeff

Jeff Kellem
Internet: composer@chem.bu.edu