“make: yacc: Command not found” after installing Bison

我是研究僧i 提交于 2019-12-09 14:43:47

问题


While running a makefile in gcc 4.1.2 (linux 5), I got the following error

make: yacc: Command not found

By googling, I came to know that this error can be rectified by installing Bison-GNU parser generator. But even after installing Bison, I get the same error.

How can this error be solved?


回答1:


From the looks of things, your makefile is expecting a yacc executable to be available and either it's not, or it's not on your path.

Since bison is supposed to be compatible with yacc so the first thing I would try would be:

alias yacc="bison"

and try again. On my setup, /usr/bin/yacc is simply a script containing:

#! /bin/sh
exec '/usr/bin/bison' -y "$@"

You can try to locate the yacc or bison executables with the command (substituting bison for yacc if need be):

which yacc

But they're probably in one of the standard places like /bin or /usr/bin.




回答2:


Run the following command on your terminal to install bison, yacc executables and configurations.yacc comes along with bison

Also you need byacc for a full functional yacc

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

It worked for me.




回答3:


I ran into a similar issue on RHEL7.

Find where bison is:

$:which bison

*/bin/bison*

Create symlink to bison from yacc:

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

And that should solve the problem.




回答4:


I created the alias file on my Ubuntu 16 system, while testing then I found that bison was missing so I installed bison which gave me an error about the link that I had made for /usr/bin/yacc, so the bison install creates the lnk file itself for yacc on Ubuntu 16.



来源:https://stackoverflow.com/questions/10733238/make-yacc-command-not-found-after-installing-bison

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!