21

gcc 4.1.2(linux 5)でmakefileを実行しているときに、次のエラーが発生しました

make: yacc: Command not found

グーグルで調べると、Bison-GNUパーサジェネレータをインストールすることでこのエラーを修正できることがわかりました。しかし、Bisonをインストールした後でも、同じエラーが発生します。

このエラーはどのように解決できますか?

4

4 に答える 4

38

端末で次のコマンドを実行して、bison、 yaccの実行可能ファイルおよび構成をインストールします。yaccはバイソンと一緒に来ます

また、完全に機能するyaccにはbyaccが必要です

sudo apt-get install bison -y
sudo apt-get install byacc -y

それは私のために働いた。

于 2014-10-06T17:45:03.740 に答える
15

見た目からすると、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

于 2012-05-24T07:55:10.557 に答える
1

RHEL7でも同様の問題が発生しました。

バイソンがどこにあるかを見つける:

$:which bison

*/bin/bison*

yaccからbisonへのシンボリックリンクを作成します。

sudo ln -s /bin/bison /bin/yacc

そして、それは問題を解決するはずです。

于 2018-03-06T16:18:53.993 に答える
0

Ubuntu 16システムでエイリアスファイルを作成しましたが、テスト中にbisonが見つからなかったため、bisonをインストールしたところ、/ usr / bin / yaccに対して作成したリンクに関するエラーが発生したため、bisonをインストールするとUbuntu16のyacc用のlnkファイル自体。

于 2018-04-20T19:36:15.497 に答える