[gnu.bash.bug] BASH on DECstations

tale@cs.rpi.edu (David C Lawrence) (12/18/89)

Would anyone who has gotten BASH to run (with functioning readline) on
the DECsystem 5400/DECstation 3100 running Ultrix v3.1 please contact
me?  I've got gcc 1.36 compiled for it but neither gcc nor cc produces
a fully functional bash binary.  gcc -traditional didn't work because
of many complaints about parse errors in the system header files.
Without the -traditional, this was the only fatal compilation message
I got:

gcc -c   -DVAX -DTARGET=VAX -DBsd -I./ builtins.c
builtins.c: In function logout_builtin:
builtins.c:1231: `interactive' undeclared (first use this function)
builtins.c:1231: (Each undeclared identifier is reported only once
builtins.c:1231: for each function it appears in.)
builtins.c: In function exit_or_logout:
builtins.c:1252: `interactive' undeclared (first use this function)
builtins.c: In function declare_internal:
builtins.c:2414: `array_needs_making' undeclared (first use this function)
*** Error code 1

(The VAX/Bsd combination was suggested by someone who has it going on
the DECs, but whose name and address I've unfortunately lost.)

Upon blithely adding the extern int declarations to the three
functions which builtins.c complained about, this was the result:

$ ./bash
initialize_jobs: get line disc: jobs.c: Not a typewriter
bash$ 

Command execution seems to work but there is no readline activity at
all -- control characters just get inserted.

It also has problems like this:

bash$ rm bash
rm: override protection 755 for bash?
[1]+  Stopped (tty input) rm bash
bash$ fg
rm bash

[1]+  Stopped (tty input) rm bash
bash$

Any advice for getting this running in the DECstation environment
would be greatly appreciated.

Dave
-- 
   (setq mail '("tale@cs.rpi.edu" "tale@ai.mit.edu" "tale@rpitsmts.bitnet"))

bfox@sbphy.ai.mit.edu (Brian Fox) (12/19/89)

   Date: 18 Dec 89 03:22:06 GMT
   From: rpi!tale@zaphod.mps.ohio-state.edu  (David C Lawrence)
   Organization: Rensselaer Polytechnic Institute, Troy NY
   Sender: bug-bash-request@prep.ai.mit.edu

   Would anyone who has gotten BASH to run (with functioning readline) on
   the DECsystem 5400/DECstation 3100 running Ultrix v3.1 please contact
   me?

I am currently using a DEC 3100 to maintain Bash.  I have compiled it
successfully with /bin/cc.  I use VAX and Bsd in the Makefile.

   gcc -c   -DVAX -DTARGET=VAX -DBsd -I./ builtins.c
   builtins.c: In function logout_builtin:
   builtins.c:1231: `interactive' undeclared (first use this function)
   builtins.c:1231: (Each undeclared identifier is reported only once
   builtins.c:1231: for each function it appears in.)
   builtins.c: In function exit_or_logout:
   builtins.c:1252: `interactive' undeclared (first use this function)
   builtins.c: In function declare_internal:
   builtins.c:2414: `array_needs_making' undeclared (first use this function)
   *** Error code 1

Um, what version of Bash?

   $ ./bash
   initialize_jobs: get line disc: jobs.c: Not a typewriter
   bash$ 

Are you using a funky window system?  This message means that the
standard input to Bash is not actually a tty, (which I rather doubt).

Brian

tale@TURING.CS.RPI.EDU (David C Lawrence) (12/19/89)

Thanks for all of the help.  I've got a running bash for the pmax now.
I compiled 1.04 (which is what I was trying to do before; sorry for
not mentioning it) using the MIPS cc and an added option of
-Dvoid=int.  It seems to be working fine.  The following bug appears,
though, for an account which has a home directory of /.  At first I
thought the problem was with not having a home directory, but running
bash -login as root gave me the same messages.  I do not know whether
this is DEC-specific but the example is done logging into a DECsystem
5400.

Script started on Tue Dec 19 01:52:29 1989
/home/tale
netserv2:tale (1) exec rlogin doubleday.cs.rpi.edu -l src
Password:
No directory! Logging in with home=/
Last login: Tue Dec 19 01:46:52 from netserv2.its.rpi

==============================================================================
=              Welcome to the Computer Science Workstation Lab               =
=                                                                            =
=                 DECstation 3100's running Ultrix V3.1                      =
=                            and DECwindows                                  =
==============================================================================

/tmp/log: command not found
Attempt to free unknown command type `7'.

Attempt to free unknown command type `7'.

bash$ echo $PATH
.:/install.tmp:/bin:/etc:/usr/bin:/usr/ucb
bash$ exitConnection closed.
script done on Tue Dec 19 01:52:56 1989

The shell seems to function normally after that, in my limited
testing, but those messages are not encouraging.  Note also that the
PATH is not set to what I specified in config.h, nor did it come from
a prior environment.

Dave
-- 
   (setq mail '("tale@cs.rpi.edu" "tale@ai.mit.edu" "tale@rpitsmts.bitnet"))

bfox@sbphy.ai.mit.edu (Brian Fox) (12/19/89)

   Date: Tue, 19 Dec 89 02:04:00 EST
   From: tale@turing.cs.rpi.edu (David C Lawrence)

   Thanks for all of the help.  I've got a running bash for the pmax now.
   I compiled 1.04 (which is what I was trying to do before; sorry for
   not mentioning it) using the MIPS cc and an added option of
   -Dvoid=int.  It seems to be working fine.  The following bug appears,

That should be -Dvoid="char *".

   though, for an account which has a home directory of /.  At first I
   thought the problem was with not having a home directory, but running
   bash -login as root gave me the same messages.  I do not know whether
   this is DEC-specific but the example is done logging into a DECsystem
   5400.

   Script started on Tue Dec 19 01:52:29 1989
   /home/tale
   netserv2:tale (1) exec rlogin doubleday.cs.rpi.edu -l src
   Password:
   No directory! Logging in with home=/
   Last login: Tue Dec 19 01:46:52 from netserv2.its.rpi

   ==============================================================================
   =              Welcome to the Computer Science Workstation Lab               =
   =                                                                            =
   =                 DECstation 3100's running Ultrix V3.1                      =
   =                            and DECwindows                                  =
   ==============================================================================

The above stuff is either being printed out by /etc/profile, or by /.profile.

   /tmp/log: command not found
   Attempt to free unknown command type `7'.

   Attempt to free unknown command type `7'.

   bash$ echo $PATH
   .:/install.tmp:/bin:/etc:/usr/bin:/usr/ucb
   bash$ exitConnection closed.
   script done on Tue Dec 19 01:52:56 1989

   The shell seems to function normally after that, in my limited
   testing, but those messages are not encouraging.  Note also that the
   PATH is not set to what I specified in config.h, nor did it come from
   a prior environment.

No, it came from the local .profile.

Brian

chet@cwns1.CWRU.EDU (Chet Ramey) (12/20/89)

In article <8912190704.AA02369@turing.cs.rpi.edu> tale@TURING.CS.RPI.EDU (David C Lawrence) writes:
>
>/tmp/log: command not found
>Attempt to free unknown command type `7'.

Somewhere in that script there is an `until' command.  That command type
was inadvertently left out of the cases that dispose_command handles, so
it comes off as unknown.  I sent a fix for this to Brian a while ago.

Chet Ramey
-- 
Chet Ramey
Network Services Group				"Where's my froggie?"
Case Western Reserve University
chet@ins.CWRU.Edu			

tale@TURING.CS.RPI.EDU (David C Lawrence) (12/20/89)

   Date: Tue, 19 Dec 89 06:59:56 PST
   From: bfox@sbphy (Brian Fox)

      Date: Tue, 19 Dec 89 02:04:00 EST
      From: tale@turing.cs.rpi.edu (David C Lawrence)

      I compiled 1.04 (which is what I was trying to do before; sorry for
      not mentioning it) using the MIPS cc and an added option of
      -Dvoid=int.

   That should be -Dvoid="char *".

Ok, I'll change it and recompile.  No biggie.  I don't fully
understand though.  If its value is being ignored anyway, what's the
difference?  Memory alignment?

      [problems with homedir of /]
      bash -login as root gave me the same messages.

      Script started on Tue Dec 19 01:52:29 1989 [...]
      =              Welcome to the Computer Science Workstation Lab = [...]

   The above stuff is either being printed out by /etc/profile, or by
   /.profile.

Actually, the above of that is just /etc/motd.  /.profile isn't
invoking it.

      /tmp/log: command not found

Genuine error from the /.profile that exists.  It has this header:

# .rootprofile: the installation only.

So I just moved it from /.profile to /.rootprofile.

      Attempt to free unknown command type `7'.

      Attempt to free unknown command type `7'.

These are coming from BASH, of that I am sure.  It seems to have
something to do with "until" because I never see any of the things
that are in either of the two until loops in the (ex-)/.profile.

      bash$ echo $PATH
      .:/install.tmp:/bin:/etc:/usr/bin:/usr/ucb

This too was from /.profile as you surmised.  I had not even thought
about it being there because I am personally accustomed to just using
the .bash* file names.  I will keep it in mind in the future.

Dave
-- 
   (setq mail '("tale@cs.rpi.edu" "tale@ai.mit.edu" "tale@rpitsmts.bitnet"))