6.15. Bc-1.07.1

Bc パッケージは、任意精度 (arbitrary precision) の演算処理言語を提供します。

概算ビルド時間: 0.1 SBU
必要ディスク容量: 4.1 MB

6.15.1. Bc のインストール

内部スクリプトの中で ed が用いられている箇所を sed に変更します。

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

configure オプションの意味

--with-readline

このオプションは、本パッケージにて提供される readline ライブラリではなく、既にシステムにインストールされている readline ライブラリを用いることを指示します。

パッケージをコンパイルします。

make

bc をテストする場合は以下のコマンドを実行します。 その際には相当量の出力が行われますから、ファイルにリダイレクトしておくとよいでしょう。 テストのうちいくつかのテスト (12,144 個のうちの10個) では、最終デジットに対する丸め (roundoff) に関するエラーが発生します。

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

パッケージをインストールします。

make install

6.15.2. Bc の構成

インストールプログラム: bc, dc

概略説明

bc

コマンドラインから実行する計算機(calculator)。

dc

逆ポーランド(reverse-polish)記法による計算機。