Bison &引用;make:yacc:Command not found";安装野牛后

Bison &引用;make:yacc:Command not found";安装野牛后,bison,yacc,Bison,Yacc,在GCC4.1.2(linux 5)中运行makefile时,我遇到了以下错误 make: yacc: Command not found 通过谷歌搜索,我知道这个错误可以通过安装Bison GNU解析器生成器来纠正。 但即使在安装Bison之后,我也会遇到同样的错误 如何解决此错误?从外观上看,您的makefile希望有一个yacc可执行文件可用,或者它不可用,或者它不在您的路径上 由于bison应该与yacc兼容,因此我首先要尝试的是: alias yacc="bison" 然后再试一次

在GCC4.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
可执行文件(如果需要,将bison替换为yacc):


但它们可能位于标准位置之一,如
/bin
/usr/bin

在终端上运行以下命令以安装bison, yacc可执行文件和配置。yacc与bison一起提供

此外,您还需要通过ACC实现功能齐全的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文件本身。

你使用的是什么操作系统?听起来像是linux发行版,但我不确定是哪个。另外,这个错误是不言自明的:当运行
Where is yacc
时会发生什么?Where is yacc的输出是yacc:/usr/share/man/man1p/yacc.1p.gz这是一个压缩的手册页,不是一个可执行文件。这意味着$PATH不包括yacc可执行文件——这只是它的手册页。我建议试着找出
yacc
在哪里,并找出它为什么不在您的$PATH上。顺便说一句,这更多的是服务器故障或超级用户问题。我建议先看看是否存在
bison
,但是是的,很高兴知道。是的bison存在。“which bison”命令的输出为“/usr/bin/bison”。但即使在给出“别名yacc=”bison之后,我得到了相同的错误。然后别名可能正在消失,或者它使用的外壳没有别名。如果
哪个yacc
没有找到有效的可执行文件,请按照答案中给出的行创建自己的
/usr/bin/yacc
可执行文件。如果这不起作用,那么您的makefile在运行时几乎肯定看不到
/usr/bin
。“which yaac”给出“别名yacc='bison'/usr/bin/bison”。错误已被解决。感谢paxdibolo.Ubuntu14.04安装-有野牛,但没有byacc。谢谢你的小费。(向上投票)。
sudo ln -s /bin/bison /bin/yacc