Home | History | Annotate | Download | only in bash
      1 NAME:             bash
      2 VERSION:          4.0
      3 DESCRIPTION:      GNU Bourne Again Shell
      4 LICENSE:          GPLv3
      5 PACKAGE:          SUNWbash
      6 PROJECT_URL:      http://www.gnu.org/software/bash/bash.html
      7 SOURCE_DOWNLOAD:  ftp://ftp.gnu.org/gnu/bash/bash-4.0.tar.gz
      8 SUPPORT:          Managed
      9 BUGTRAQ:          solaris/utility/bash
     10 OSR:              12655
     11 COMMENTS:
     12     
     13     Needs special compiler flags and additional Solaris patches
     14 
     15 ===============================================================
     16 
     17 Explanation of some unusual compiler flags:
     18 
     19 1. We must use the c99 C Compiler driver, and not cc -xc99=%all.
     20 Some functions from the Standard Math Library are only available
     21 with the c99 driver, for example, isinf(3M).
     22 
     23 2. The included libreadline.a and libsh.a want to use FIONREAD.
     24 The Linux assumption is that FIONREAD is defined in <sys/ioctl.h>,
     25 but on Solaris it is defined in <sys/filio.h>. The workaround is
     26 to raise -DSOLARIS on compiler line, and #ifdef guard the inclusion
     27 of <sys/filio.h> on the SOLARIS macro being raised.
     28 
     29 3. Bash supports full multi-byte and internationalization. Because
     30 we want this feature, we must raise all the C99 conformance compiler
     31 flags, in order to make available all the wchar_t Standard C Library
     32 functions.
     33 
     34 4. We want to use the curses library in /usr/lib/libcurses.so.1.
     35 But because we are raising the full C99 conformance macros, the
     36 compiler will automatically link /usr/xpg4/lib/libcurses.so.2.
     37 The workaround is to pass /usr/lib/libcurses.so.1 with absolute
     38 path in ./configure during the libcurses availability test. This
     39 gets passed verbatim to the Makefile.
     40 
     41 5. The file $(top_srcdir)/support/signames.c creates some bogus
     42 signal names (named SIGJUNK%d) because it does not know about
     43 Solaris' SIGJVM1 and SIGJVM2. This, in turn, creates a big problem
     44 with the actual number of signal names  defined in
     45 $(top_srcdir)/signames.h -- namely, the number of signal strings
     46 in the signal_names array ends up exceeding the number of char pointers
     47 defined by NSIG + 4, and the compiler aborts. We work around this by
     48 patching $(top_srcdir)/support/signames.c appropriately, and create
     49 the signal name strings for SIGJVM1 and SIGJVM2.
     50 
     51 6. The bash test harness passes 100% if and only if all the UTF-8
     52 locales are installed on the build/test system.
     53 
     54 7. The test harness will, for certain tests, print out what appears
     55 to be errors. Please read the output of the test harness, and determine
     56 that what appears to be an error is actually an error. Some tests will
     57 warn that test output is expected, and does not necessarily indicate
     58 an error condition.
     59 
     60 ===============================================================
     61 
     62 Known Bugs:
     63 
     64 Memory leak within read builtin in both bash 4.0.x and 3.[12].x:
     65 
     66 http://www.mail-archive.com/bug-bash@gnu.org/msg05774.html
     67 
     68 -----
     69 
     70