[comp.unix.wizards] Bash on a 3b2/300

heechee@clotho.acm.rpi.edu (Stephen Underwood) (10/17/89)

I'm in the process of trying to port Bash (the bourne again shell) from
the gnu project to a 3b2 300 runing SYS V rel 3.1.  After about a week of
serious hacking around I have the thinkg compiling, but it refuses
to link due to the lack of 4 symbols.

   sigblock
   sigsetmask
   sys_siglist
   sigpause

Does anyone know A) What theese routines do?  B) How to get around them?

-Stephen H. Underwood  -heechee@acm.rpi.edu   -usere3v4@mts.rpi.edu

cpcahil@virtech.UUCP (Conor P. Cahill) (10/17/89)

In article <1989Oct16.184949.21515@rpi.edu>, heechee@clotho.acm.rpi.edu (Stephen Underwood) writes:
>    sigblock   sigsetmask  sys_siglist   sigpause
> 
> Does anyone know A) What theese routines do?  B) How to get around them?

These are all part of BSD signal handling.  A quick look at my bash source
finds that you must have undefined (or not defined) NOJOBS.  For your real 
system V you must #define NOJOBS.  (I know, you really want job control. 
You gotta wait for SVR4).

NOTE-> my comments are from the beta version of bash posted a few months
ago, your version may be different.


-- 
+-----------------------------------------------------------------------+
| Conor P. Cahill     uunet!virtech!cpcahil      	703-430-9247	!
| Virtual Technologies Inc.,    P. O. Box 876,   Sterling, VA 22170     |
+-----------------------------------------------------------------------+

konczal@mail-gw.ncsl.nist.gov (Joe Konczal) (10/19/89)

   From: Stephen Underwood <heechee@ACM.RPI.EDU>
   Date: 16 Oct 89 18:49:49 GMT


   I'm in the process of trying to port Bash (the bourne again shell) from
   the gnu project to a 3b2 300 runing SYS V rel 3.1.  After about a week of
   serious hacking around I have the thinkg compiling, but it refuses
   to link due to the lack of 4 symbols.

      sigblock
      sigsetmask
      sys_siglist
      sigpause

   Does anyone know A) What theese routines do?  B) How to get around them?

   -Stephen H. Underwood  -heechee@acm.rpi.edu   -usere3v4@mts.rpi.edu

These are system calls used in bash to implement job control on BSD
systems, except for sys_siglist which is an array of signal names.
Look at the "#ifdef SYSV...#else...#endif" sections in nojobs.c to see
the corresponding SYS V names.

(I installed bash yestreday on a Sun 3 running SunOS 4 with no problems.)

In the bash Makefile, if OS is defined as SYSV, and JOB_CONTROL is
undefined, and SIGLIST is defined as siglist.o, then none of the
symbols mentioned above should be required to link bash unless you've
hacked it to death.

Joe Konczal