我在构建 AOSP 源代码时遇到错误: POSIX Yacc 不支持 %name-prefix [-Wyacc]
更多详情:
10 | %token-table
| ^~~~~~~~~~~~
external/iproute2/tc/emp_ematch.y:11.1-14: warning: POSIX Yacc does not support %error-verbose [-Wyacc]
11 | %error-verbose
| ^~~~~~~~~~~~~~
external/iproute2/tc/emp_ematch.y:11.1-14: warning: deprecated directive: ‘%error-verbose’, use ‘%define parse.error verbose’ [-Wdeprecated]
11 | %error-verbose
| ^~~~~~~~~~~~~~
| %define parse.error verbose
external/iproute2/tc/emp_ematch.y:12.14-22: warning: POSIX Yacc does not support string literals [-Wyacc]
12 | %name-prefix "ematch_"
| ^~~~~~~~~
external/iproute2/tc/emp_ematch.y:12.1-22: warning: POSIX Yacc does not support %name-prefix [-Wyacc]
12 | %name-prefix "ematch_"
| ^~~~~~~~~~~~~~~~~~~~~~
external/iproute2/tc/emp_ematch.y:12.1-22: warning: deprecated directive: ‘%name-prefix "ematch_"’, use ‘%define api.prefix {ematch_}’ [-Wdeprecated]
12 | %name-prefix "ematch_"
| ^~~~~~~~~~~~~~~~~~~~~~
| %define api.prefix {ematch_}
12:13:00 ninja failed with: exit status 1
几个小时后,我发现这是因为我的机器上没有安装
m4
软件包,解决方案只是运行:
sudo apt install m4
并继续建设。