Bc パッケージは、任意精度 (arbitrary precision) の演算処理言語を提供します。
内部スクリプトの中で 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