简体   繁体   English

GNU Make 4.0 --output-sync = target没有显示最终错误

[英]GNU Make 4.0 --output-sync=target doesn't show the final error

I'm tweaking a build system to run faster by executing a bunch of the targets in parallel by using -j24 . 我通过使用-j24并行执行一堆目标来调整构建系统以使其运行更快。 Since I want the output to be somewhat readable I'm using --output-sync=target . 由于我希望输出具有一定的可读性,因此我使用--output-sync=target This works great when there are no errors and performs exactly as I would expect it to. 如果没有错误,并且效果完全符合我的预期,那么效果很好。 I'm finding that when there is an error Make will not output it like it does normally when running things sequentially. 我发现,当出现错误时,Make不会像顺序运行时那样正常输出它。 This is a big issue since the build is being run in Jenkins and various people will need to see the failures if there are any. 这是一个大问题,因为该构建正在Jenkins中运行,如果有任何失败,则很多人将需要查看失败。

The only other discussion I could find on this issue was this How to use synchronization in makefile? 我可以在此问题上找到的唯一其他讨论是“ 如何在Makefile中使用同步?”。 which doesn't seem to have any comments/answers. 似乎没有任何评论/答案。 Does anyone know if there is a solution to this issue? 有人知道这个问题是否有解决方案吗?

FWIW here's what the command looks like when the build is run in parallel: make --output-sync=target -j$(nproc) FWIW这是并行运行构建时命令的外观: make --output-sync=target -j$(nproc)

This ended up being an actual bug in Make https://savannah.gnu.org/bugs/index.php?47365 最终成为Make https://savannah.gnu.org/bugs/index.php?47365中的实际错误

It has been fixed here as MadScientist pointed out in his comment http://git.savannah.gnu.org/cgit/make.git/commit/?id=14b2d7effb0afd75dfd1ed2534e331784f7d2977 在此已经固定为MadScientist在他的评论中指出http://git.savannah.gnu.org/cgit/make.git/commit/?id=14b2d7effb0afd75dfd1ed2534e331784f7d2977

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM