在gcc 4.1.2(linux 5)中运行makefile时,出现以下错误
make: yacc: Command not found
通过谷歌搜索,我发现安装Bison-GNU解析器生成器可以纠正这个错误。 但即使在安装Bison之后,我也会遇到同样的错误。
如何解决这个错误?
答案 0 :(得分:15)
在终端上运行以下命令以安装bison, yacc 可执行文件和配置。 yacc 带有野牛
您还需要 byacc 才能获得完整功能 yacc
sudo apt-get install bison -y
sudo apt-get install byacc -y
它对我有用。
答案 1 :(得分:9)
从外观上看,你的makefile期望yacc
可执行文件可用,或者不是,或者它不在你的路径上。
由于bison
应该与yacc
兼容,所以我要尝试的第一件事就是:
alias yacc="bison"
然后再试一次。在我的设置中,/usr/bin/yacc
只是一个包含以下内容的脚本:
#! /bin/sh
exec '/usr/bin/bison' -y "$@"
您可以尝试使用命令找到yacc
或bison
可执行文件(如果需要,用bison代替yacc):
which yacc
但它们可能位于/bin
或/usr/bin
等标准位置之一。
答案 2 :(得分:0)
我在RHEL7上遇到了类似的问题。
查找野牛的位置:
simple_small_function
从yacc创建符号链接到bison:
$:which bison
*/bin/bison*
这应该可以解决问题。
答案 3 :(得分:0)
我在我的Ubuntu 16系统上创建了别名文件,然后测试然后我发现野牛丢失了所以我安装了bison,这给了我一个关于我为/ usr / bin / yacc做的链接的错误,所以野牛install在Ubuntu 16上为yacc创建lnk文件。