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