6.15. Bc-1.07.1

Bc 软件包包含一个任意精度数值处理语言。

估计编译时间: 0.1 SBU
需要硬盘空间: 4.1 MB

6.15.1. 安装 Bc

首先修改一个内部脚本,使它使用 sed, 而不是 ed

cat > bc/fix-libmath_h << "EOF"
#! /bin/bash
sed -e '1   s/^/{"/' \
    -e     's/$/",/' \
    -e '2,$ s/^/"/'  \
    -e   '$ d'       \
    -i libmath.h

sed -e '$ s/$/0}/' \
    -i libmath.h
EOF

创建一个临时的符号链接,使该软件包可以找到 readline 库, 并确认它需要的 libncurses 库可用。虽然目前它还在 /tools/lib 中,但在本章结束时系统会使用 /usr/lib 中的最后版本。

ln -sv /tools/lib/libncursesw.so.6 /usr/lib/libncursesw.so.6
ln -sfv libncurses.so.6 /usr/lib/libncurses.so

由于LFS 早期阶段缺失了一些文件,需要修正 configure 中的一个问题:

sed -i -e '/flex/s/as_fn_error/: ;; # &/' configure

准备安装 Bc:

./configure --prefix=/usr           \
            --with-readline         \
            --mandir=/usr/share/man \
            --infodir=/usr/share/info

配置选项的含义:

--with-readline

该选项告诉 Bc 使用系统中已经安装好的 readline 库,而不是它自己附带的 readline 。

编译该软件包:

make

为了测试 bc,执行以下命令。它会输出很多内容, 因此您可能希望把输出重定向到文件。 少量测试 (12144 个测试中有 10 个)会在最后一位出现舍入误差。

echo "quit" | ./bc/bc -l Test/checklib.b

安装该软件包:

make install

6.15.2. Bc 的内容

安装的程序: bc 和 dc

简要描述

bc

一个命令行计算器

dc

一个逆波兰式命令行计算器