Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
FS#64279 - [linux] Tweak PKGBUILD to separate compilation from HTML generation during SMP builds
Attached to Project:
Arch Linux
Opened by David Ward (dpward) - Sunday, 27 October 2019, 00:30 GMT
Last edited by Jan Alexander Steffens (heftig) - Saturday, 22 February 2020, 00:46 GMT
Opened by David Ward (dpward) - Sunday, 27 October 2019, 00:30 GMT
Last edited by Jan Alexander Steffens (heftig) - Saturday, 22 February 2020, 00:46 GMT
|
DetailsWhen the linux package is built, the "bzImage", "modules" and "htmldocs" targets are passed to "make" in the same invocation. For an SMP build, this means the HTML documentation will be generated while the kernel is being compiled. The output displayed during the build process can be somewhat difficult to discern as a result, since GCC and Sphinx both produce warnings on individual source code files that can look similar.
I would suggest invoking make separately for the HTML documentation, so that it is only generated after the kernel compilation is complete. A sample patch to the PKGBUILD file is attached. Thank you! |
This task depends upon
Closed by Jan Alexander Steffens (heftig)
Saturday, 22 February 2020, 00:46 GMT
Reason for closing: Implemented
Additional comments about closing: Changed in trunk
Saturday, 22 February 2020, 00:46 GMT
Reason for closing: Implemented
Additional comments about closing: Changed in trunk
linux-smp-build.patch
Other generic targets:
all - Build all targets marked with [*]
* vmlinux - Build the bare kernel
* modules - Build all modules
[...]
Architecture specific targets (x86):
* bzImage - Compressed kernel image (arch/x86/boot/bzImage)
In other words, "make all" is the same as "make vmlinux bzImage modules". This is also the same as "make bzImage modules", since the vmlinux target is a dependency of the bzImage target:
https://git.archlinux.org/linux.git/tree/arch/x86/Makefile?h=v5.3.7-arch1#n280
On my system, when I split these into two stages (parallelized kernel build, then parallelized documentation build), it doesn't seem to increase the overall build time, but it makes it a whole lot easier to follow the build process and understand the output when something goes wrong. How does the build time compare on the system that generates the official packages?