bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bash-2.05 build problem and fix for AIX 4.3.3


From: Jesse Raynor
Subject: bash-2.05 build problem and fix for AIX 4.3.3
Date: Fri, 22 Mar 2002 20:56:23 -0600

Configuration Information [Automatically generated, do not change]:
Machine: powerpc
OS: aix4.3.3.0
Compiler: cc
Compilation CFLAGS:  -DPROGRAM='bash' -DCONF_HOSTTYPE='powerpc' 
-DCONF_OSTYPE='aix4.3.3.0' -DCONF_MACHTYPE='powerpc-ibm-aix4.3.3.0' 
-DCONF_VENDOR='ibm' -DSHELL  -DHAVE_CONFIG_H   -I.  -I. -I./include -I./lib 
-I/opt/bash-2.05/include -g
uname output: AIX aldrin 3 4 000964154C00
Machine Type: powerpc-ibm-aix4.3.3.0

Bash Version: 2.05
Patch Level: 0
Release Status: release

Description:
        During the build process, support/mksignames.c is compiled and then 
run.  The program dies because of a signal 11.  Here is some make ouput:

 cc  -DPROGRAM='"bash"' -DCONF_HOSTTYPE='"powerpc"' 
-DCONF_OSTYPE='"aix4.3.3.0"' -DCONF_MACHTYPE='"powerpc-ibm-aix4.3.3.0"' 
-DCONF_VENDOR='"ibm"' -DSHELL
-DHAVE_CONFIG_H   -I.  -I. -I./include -I./lib -I/opt/bash-2.05/include -g  -o 
mksignames ./support/mksignames.c
        rm -f lsignames.h
        ./mksignames lsignames.h
make: 1254-059 The signal code from the last command is 11.


Stop.



The reason it dies is because signal_names is an array of size 128 (2 * NSIG), 
but the program tries to assign "SIGRTMIN" to signal_names[rtmin], with rtmin 
== 888.  The code also tries to assign "SIGRTMAX" to signal_names[rtmax] with 
rtmax == 999.  The following comment and code begins on line 41 of mksignames.c:

/* AIX 4.3 defines SIGRTMIN and SIGRTMAX as 888 and 999 respectively.
   I don't want to allocate so much unused space for the intervening signal
   numbers, so we just punt if SIGRTMAX is past the bounds of the
   signal_names array (handled in configure). */
#if defined (SIGRTMAX) && defined (UNUSABLE_RT_SIGNALS)
#  undef SIGRTMAX
#  undef SIGRTMIN
#endif



It seems configure should set UNUSABLE_RT_SIGNALS, and it does.  So SIGRTMAX 
and SIGRTMIN should get undef'ed.  But they don't.  I think it's because you 
didn't include config.h in support/mksignames.c.

I added #include "config.h" to the top of the file, but after the copyright 
notice, and bash compiled just fine.


Repeat-By:
        ./configure --prefix=/opt/bash-2.05
        make
Fix:
        add #include "config.h" to the file support/mksignames.c







reply via email to

[Prev in Thread] Current Thread [Next in Thread]