关于这个软件包的详细资料位于第 6.30.2 节 “Bash 的内容”。
Bash 是 Bourne-Again Shell 的缩写。
应用下面补丁修复自 Bash-3.2 正式发布以来的一些 bug:
patch -Np1 -i ../bash-3.2-fixes-8.patch
配置 Bash,为编译做准备:
./configure --prefix=/tools --without-bash-malloc \ ac_cv_func_working_mktime=yes
配置选项的含义:
--without-bash-malloc
该选项关闭 Bash 的内存分配函数(malloc
,已知该函数会导致段错误。关闭了该选项之后,Bash 会使用更为稳定的、由
Glibc 提供的malloc 函数。)
ac_cv_func_working_mktime=yes
这个参数是在配置过程中绕过对 mktime 的搜索,改为使用在 glibc 中的版本。这样做的需要的原因是,有一个 gcc 的变化,但本软件包还没有包括进来。
Compile the package:
make
现在编译完成了,同前面一样,在本章为了一个临时工具运行测试程序不是强制的。如果想运行测试套件,使用下列命令:
make tests
安装该软件包:
make install
为那些使用 sh 作为其 Shell 的软件创建链接:
ln -vs bash /tools/bin/sh
关于这个软件包的详细资料位于第 6.30.2 节 “Bash 的内容”。