[comp.unix.questions] Compiling GNU Bourne Again SHell

hsw@sparta.com (Howard Weiss) (08/15/90)

I've got a copy of the Bourne Again SHell (bash) - version 1.05 that
I can't compile on a SUN 3 running OS4.1.  I have compiled this version
on a 386 running Interactive 386/ix (SYSV 3.2).

On the SUN, the make file says that its compiling for a SUN 3 running
OS 4, but has problems with the bash-Makefile (fixed by commenting out
the offending lines which are setting up stuff to build backup files) and
then has problems with compiling y.tab.c (which is the result of running
yacc on parse.y).  I have already gotten and included all the latest
patches for this version and have sent off a message to bug-bash but
have not heard anything.

Has anyone had this problem and/or does anyone know of a fix.  I'm not
versed in yacc (and don't really want to be).

Thanks,

Howard Weiss


Sparta, Inc.
Columbia, Md.
hsw@sparta.com

chet@cwns1.CWRU.EDU (Chet Ramey) (08/16/90)

In article <24173@adm.BRL.MIL> hsw@sparta.com (Howard Weiss) writes:
$ I've got a copy of the Bourne Again SHell (bash) - version 1.05 that

$ On the SUN, the make file says that its compiling for a SUN 3 running
$ OS 4, but has problems with the bash-Makefile (fixed by commenting out
$ the offending lines which are setting up stuff to build backup files) and
$ then has problems with compiling y.tab.c (which is the result of running
$ yacc on parse.y).  I have already gotten and included all the latest
$ patches for this version and have sent off a message to bug-bash but
$ have not heard anything.
$ 
$ Has anyone had this problem and/or does anyone know of a fix.  I'm not
$ versed in yacc (and don't really want to be).

The yacc problem is solved by changing the lines in parse.y that read

                          if (interactive)
                            YYACCEPT;
                          else
                            YYABORT;

to read

                          if (interactive)
			    {
                              YYACCEPT;
			    }
                          else
                            {
			      YYABORT;
			    }

YYACCEPT and YYABORT became compound statements in SunOS 4.1 yacc.

You will also need to use the SunOS malloc, because of the `localtime'
bug (take USE_GNU_MALLOC out of the appropriate section in machines.h).

There are a number of problems with bash 1.05.  All have been fixed
for the next release (whenever that is).

Chet


-- 
Chet Ramey				``Levi Stubbs' tears run down
Network Services Group			  his face...''
Case Western Reserve University	
chet@ins.CWRU.Edu