Date: Wed, 17 Apr 2013 13:18:14 -0600 From: Brett Glass <brett@lariat.net> To: questions@freebsd.org Subject: Bad kernel with make -j? Message-ID: <201304171918.NAA01649@lariat.net>
next in thread | raw e-mail | index | archive | help
Everyone: I've just had to resurrect a machine which apparently failed because the kernel was built with the make -j option. As reported in the make(1) man page, the purpose of the -j option is to let the make program build multiple portions of a program concurrently on a machine with multiple CPUs. The idea is to make use of SMP to speed up the build process. Unfortunately, after updating a FreeBSD 9.0 system with freebsd-update (and seeing some changes that would affect the custom kernel the machine was running), I rebuilt the kernel using the -j5 option. (The machine has 2 cores and 4 threads, but threads block due to I/O as well as memory access. So, when it works properly, -j5 is the fastest option.) The result was a kernel in which some compiled-in modules -- in particular, netgraph nodes -- weren't accessible. mpd5 began spewing odd messages, and VPN connections would not come up. I'd built the kernel with the NO_MODULES option, so the modules that were missing couldn't be loaded dynamically. Rebuilding the kernel using a single-threaded "make" solved the problem. Have others seen the same symptoms? I'd like to be able to do fast, multithreaded kernel builds, but will obviously have to avoid it if the resulting kernels are corrupted. --Brett Glass
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201304171918.NAA01649>