我正在按照《Linux From Scratch》这本书的指导,现在在第 5.17 节 Bison-3.0.4。
书中要求我们在使用make
编译 Bison 包后进行make check
测试。
最初,我遇到了以下错误:
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
这解决了问题,所有的检查都通过了,除了以下三个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上搜索,但没有结果。
有什么想法吗?
lfs
标签。这已经是我能够得到的最具体的信息了。 - UndercoverCoderflex
? - jww