Trying to get BASH going.
Art Neilson
art at pilikia.uucp
Wed Feb 21 18:06:38 AEST 1990
In article <1990Feb20.070242.4567 at rancho.uucp> rock at rancho.uucp (Rock Kent) writes:
>I've been trying the get the GNU Bourne Again Shell (BASH) to compile
>on a Microport V/386 system. I'm currently failing the compile in
>nojobs.c at line 169 with an illegal lhs of assignment operator:
> status.w_termsig = 0;
>This apparently conflicts with line 22 of jobs.h:
> #define w_termsig bytes.low & 0x7f
>
>As you can probably tell, I'm not a C programmer. I tried compiling
>under both cc and gcc (Greenhills). I would appreciate help on this
>one from someone who has the BASH up and running under some i386
>system.
>
>***************************************************************************
>*Rock Kent rock at rancho.uucp POB 8964, Rancho Sante Fe, CA. 92067*
>***************************************************************************
The problem here is with the defines on lines 22 & 24 or the included file
jobs.h as listed below:
22 #define w_termsig bytes.low & 0x7f
23 #define w_stopsig bytes.high
24 #define w_retcode bytes.high
The statement on line 169 or nojobs.c would expand as follows given the
define expansion from above:
status.bytes.low & 0x7f = status.bytes.high = 0;
In C we can't have a calculation on the LHS (Left Hand Side) of an assignment.
The LHS must evaluate to an address in memory.
What I did to resolve the problem was to comment out the line at 169 and
add the following replacement line immediately afterward:
status.bytes.low = status.bytes.high = 0;
--
Arthur W. Neilson III | ARPA: manapua!pilikia!art at nosc.mil
Bank of Hawaii Tech Support | UUCP: uunet!ucsd!nosc!manapua!pilikia!art
More information about the Comp.unix.microport
mailing list