0
|
1 |
NAME: bash
|
|
2 |
VERSION: 4.0
|
|
3 |
DESCRIPTION: GNU Bourne Again Shell
|
40
|
4 |
LICENSE: GPLv3, GFDLv1.2
|
0
|
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
|
5
|
8 |
SUPPORT: B
|
0
|
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/[email protected]/msg05774.html
|
|
67 |
|
|
68 |
-----
|
|
69 |
|