Bison-3.0.4中的Linux From Scratch错误'make check'

Und*_*der 4 c++ linux bison linux-from-scratch flex-lexer

所以我正在阅读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
Run Code Online (Sandbox Code Playgroud)

但是在这个网站上得到了解决方案.在发出之前告诉我要做以下事情make check:

cp Makefile Makefile.bak
sed -i '/calc++/d' Makefile
make check
Run Code Online (Sandbox Code Playgroud)

这解决了这个问题,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)
Run Code Online (Sandbox Code Playgroud)

我尝试在Google上搜索但什么也没得到.

有任何想法吗?

rsm*_*rsm 8

这是常见的错误.如第4.6章所述.关于测试套件:

经验表明,在第5章中运行测试套件几乎没有什么好处.没有什么事情可以避免主机系统总是对该章中的测试施加一些影响,经常导致无法解释的失败.因为第5章中构建的工具是临时的并且最终被丢弃,所以我们不建议在第5章中为普通读者运行测试套件. 运行这些测试套件的说明是为了测试人员和开发人员的利益而提供的,但它们是严格可选的.

解决方案很简单 - 不要对第5章中编译的软件包运行测试.它们会失败并且没有任何意义.在构建真实系统时,测试在第6章中非常重要.