Bison-3.0.4 中的 Linux 从头开始错误 'make check'

Linux From Scratch error in Bison-3.0.4 'make check'

本文关键字:make check 错误 从头开始 中的 Linux Bison-3      更新时间:2023-10-16

所以我正在遵循Linux From Scratch的书,并在第5.17章Bison-3.0.4中。

这本书指导我们在make后做一个make check来测试编译的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

这解决了问题,除了以下三个FAILED检查外,所有检查都得到了绿色ok

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)

我尝试在谷歌上搜索,但一无所获。

有什么想法吗?

这是

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

经验表明,跑步几乎没有什么收获 第 5 章中的测试套件。无法回避的事实是,即 主机系统总是对测试施加一些影响,因为 章,经常造成莫名其妙的失败。因为构建的工具 在第5章中是暂时的,最终被丢弃,我们不 建议为普通读者运行第 5 章中的测试套件。 为运行这些测试套件提供了说明 测试人员和开发人员的好处,但它们是严格可选的。

解决方案很简单 - 不要对第 5 章中编译的包运行测试。他们会失败,这没有任何意义。在第6章中,当你构建你的真实系统时,测试是很重要的。