Cannot build kernel after make buildworld and make buildkernel

Hello,

On 10.1-REL on amd64, I ran make buildworld and make buildkernel and rebooted into the new kernel. The make was done using a custom kernel config file, modified make.conf, and modified src.conf, all to give a very minimal install.

After rebooting, I cannot run make buildkernel again (using the same kernel config, make.conf, and src.conf files) without throwing this error-

Code:
---------------------------------------------------------------------------
>>> stage 3.1: making dependencies
---------------------------------------------------------------------------
usage: vnode_if.awk <srcfile> [-c|-h|-p|-q]

*** Failed target:  vnode_if_newproto.h
*** Failed command: awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -p
*** Error code 1

Stop.
make[2]: stopped in /usr/obj/usr/src/sys/GENERIC_MODIFIED

I ruled out the kernel config file and make.conf as the source of the problem, which leaves the src.conf. I've left in anything related to install or compilers, but am at a loss for what is preventing make buildkernel from completing successfully. I've got these tools set in src.conf-

Code:
WITH_CLANG=YES
WITHOUT_CPP=NO
WITHOUT_CXX=NO
WITHOUT_GCC=YES
WITHOUT_GNUCXX=YES
WITHOUT_LIBCPLUSPLUS=NO
WITHOUT_MAKE=NO

Anyone have this error before?

TIA,
-bg
 
Code:
WITHOUT_CPP=NO
WITHOUT_CXX=NO
WITHOUT_GCC=YES
WITHOUT_GNUCXX=YES
WITHOUT_LIBCPLUSPLUS=NO
WITHOUT_MAKE=NO

Anyone have this error before?
Yep. You just removed make(1) and friends. This doesn't do what you expected:
Code:
WITHOUT_MAKE=NO
The variable is defined, it doesn't matter what its value is. So these are all the same and will all remove make(1):
Code:
WITHOUT_MAKE=YES
WITHOUT_MAKE=NO
WITHOUT_MAKE="SOME RANDOM TEXT"
 
My goodness!

And it was right here, all along, in src.conf(5) -

Code:
The values of variables are ignored regardless of their setting; even if they would be set to ``FALSE'' or ``NO''. Just the existence of an
 option will cause it to be honoured by make(1).

It is a little strange, though, that NOT specifying a value for any parameter in src.conf(5) throws an error when calling make(1), given that those values are ignored anyway.
 
It's basically a simple shell script. So this will throw a syntax error:
Code:
WITH_MAKE
But this doesn't:
Code:
WITH_MAKE=
 
Back
Top