go tool no such tool yacc

go1.8移除了yacc工具,使用goyacc,因此一些旧的编译脚本可能报错。这里有两个不太地道的解决方案:

方法 1.修改脚本使用goyacc

方法 2.如果文件不符合goyacc规范(goyacc工具,使用方法基本类似于贝尔实验室的yacc工具,但是还是有所不同),这时候想办法使用yacc更好些,避免修改源代码。这种方案需要以下几步:

  1) strace go tool yacc,根据跟踪信息确定go 是在哪个目录下查找这个工具的。假设在/usr/local/go/pkg/tool/linux_amd64/yacc

  2)  在旧版本的目录下找到yacc工具,复制到响应的目录下即可。

 

附带yacc的一个下载地址:

yacc 链接: 访问连接 密码: 3ta3

 

相关阅读

https://github.com/bazelbuild/buildtools/issues/23

https://www.ibm.com/developerworks/cn/linux/sdk/lex/

https://godoc.org/golang.org/x/tools/cmd/goyacc

http://superisaac.iteye.com/blog/600167

posted @ 2017-07-14 15:29  Cloud2020  阅读(1304)  评论(0)    收藏  举报