2

私はLFSからの指示に従っていますが、ひねりがあります: 私は自分の GCC を構築できる範囲でセクション 5 - 一時的なシステムの構築の一部のみに従っています。理由は、これが作業マシンであり、ルート権限がありません。設定中にエラーが発生するまでは問題なく動作していましたglibc:

configure: error:
*** These critical programs are missing or too old: as GNU ld make bison compiler
*** Check the INSTALL file for required versions.

調査の結果、LFS に必要な次の条件を満たしていないことがわかりました。

/usr/bin/yacc is a symbolic link to bison or a small script that executes bison.

にそのようなファイルがないことが判明しました/usr/bin/yacc(bison存在しますが)。しかし、私は職場でルート権限を持っていないため、そこにシンボリック リンクを作成することはできません。ここに回避策はありますか?

4

1 に答える 1

3

現在の glibc バージョンでは、ビルドに (yacc ではなく) bison プログラムが必要です。bison のソースをダウンロードして、次のようにビルドできます。

wget https://ftp.gnu.org/gnu/bison/bison-3.2.tar.gz
tar xf bison-3.2.tar.gz
cd bison-3.2
./configure --prefix=$HOME/install
make
make install

次に、$HOME/install/binディレクトリをコマンド検索パスに配置できます。

PATH=$HOME/install/bin:$PATH

この時点で、glibc のconfigureスクリプトはその bison バージョンを取得する必要があります。

古いバージョンの glibc (2.27 より前) では、bison で生成されたファイルがソースの一部として出荷されるため、bison はオプションです。あなたが従っている手順は、bison の新しい要件を反映するように更新されていないようです。

于 2018-12-23T11:20:13.677 に答える