Gcc 4.1.2(linux 5)でmakefileを実行しているときに、次のエラーが発生しました
make: yacc: Command not found
グーグルで調べると、Bison-GNUパーサジェネレーターをインストールすることでこのエラーを修正できることがわかりました。しかし、Bisonをインストールした後でも、同じエラーが発生します。
このエラーはどのように解決できますか?
見た目からすると、makefileはyacc
実行可能ファイルが利用可能であることを期待していますが、利用できないか、パス上にありません。
bison
はyacc
と互換性があるはずなので、最初に試すことは次のとおりです。
alias yacc="bison"
そしてさらに試みる。私の設定では、/usr/bin/yacc
は単に次のものを含むスクリプトです。
#! /bin/sh
exec '/usr/bin/bison' -y "$@"
次のコマンドを使用して、yacc
またはbison
実行可能ファイルの検索を試みることができます(必要に応じてyaccをbisonに置き換えます)。
which yacc
しかし、それらはおそらく/bin
や/usr/bin
のような標準的な場所の1つにあります。
ターミナルで次のコマンドを実行してbisonをインストールします。yacc実行可能ファイルと構成。yaccはbisonに付属しています。
また、完全に機能するためにはbyaccが必要ですyacc
Sudo apt-get install bison -y
Sudo apt-get install byacc -y
それは私のために働いた。
RHEL7でも同様の問題が発生しました。
バイソンがどこにあるかを見つける:
$:which bison
*/bin/bison*
Yaccからbisonへのシンボリックリンクを作成します。
Sudo ln -s /bin/bison /bin/yacc
そして、それは問題を解決するはずです。
Ubuntu 16システムでエイリアスファイルを作成しましたが、テスト中にbisonが見つからなかったため、bisonをインストールしたところ、/ usr/bin/yaccに対して作成したリンクに関するエラーが発生したため、bisonをインストールするとUbuntu16のyacc用のlnkファイル自体。