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
有疑问加站长微信联系(非本文作者)