所以我正在关注Linux From Scratch这本书,并且在第5.17 Bison-3.0.4章中。
这本书指导我们做一个make check
之后来make
测试编译的 Bison 包的结果。
最初,我收到以下错误:
make[3]: Entering directory `/sources/bison-3.0'
LEX examples/calc++/calc++-scanner.cc
CXX
examples/calc++/examples_calc___calc__-calc++-scanner.o
g++: error: ./examples/calc++/calc++-scanner.cc: No such file or directory
g++: fatal error: no input files
compilation terminated.
make[3]: ***
[examples/calc++/examples_calc___calc__-calc++-scanner.o] Error 1
make[3]: Leaving directory `/sources/bison-3.0'
make[2]: *** [check-am] Error 2
make[2]: Leaving directory `/sources/bison-3.0'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `/sources/bison-3.0'
make: *** [check] Error 2
但是在这个网站上得到了解决方案。这告诉我在发布之前执行以下操作make check
:
cp Makefile Makefile.bak
sed -i '/calc++/d' Makefile
make check
ok
这解决了问题,除了以下三项检查外,所有检查都变为绿色FAILED
:
430: Variants lalr1.cc parse.assert api.token.constructor FAILED (c++.at:374)
431: Variants lalr1.cc parse.assert api.token.constructor api.token.prefix={TOK_} FAILED (c++.at:375)
432: Variants lalr1.cc parse.assert api.token.constructor api.token.prefix={TOK_} %locations FAILED (c++.at:376)
我尝试在 Google 上搜索,但一无所获。
有任何想法吗?