gcc 4.1.2(linux 5)でmakefileを実行しているときに、次のエラーが発生しました
make: yacc: Command not found
グーグルで調べると、Bison-GNUパーサジェネレータをインストールすることでこのエラーを修正できることがわかりました。しかし、Bisonをインストールした後でも、同じエラーが発生します。
このエラーはどのように解決できますか?
端末で次のコマンドを実行して、bison、 yaccの実行可能ファイルおよび構成をインストールします。yaccはバイソンと一緒に来ます
また、完全に機能するyaccにはbyaccが必要です
sudo apt-get install bison -y
sudo apt-get install byacc -y
それは私のために働いた。
見た目からすると、makefileは実行可能ファイルが使用可能であることを期待していますが、yacc
実行可能ファイルが使用できないか、パス上にありません。
bison
と互換性があるはずなのでyacc
、最初に試すのは次のとおりです。
alias yacc="bison"
そしてさらに試みる。私のセットアップで/usr/bin/yacc
は、以下を含む単純なスクリプトです。
#! /bin/sh
exec '/usr/bin/bison' -y "$@"
yacc
次のコマンドを使用して、または実行可能ファイルを見つけることができますbison
(必要に応じてyaccをbisonに置き換えます)。
which yacc
しかし、それらはおそらく/bin
またはのような標準的な場所の1つにあります/usr/bin
。
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ファイル自体。