Date: Fri, 21 Jun 2013 23:38:46 +0200 From: Remko Lodder <remko@FreeBSD.org> To: Tony Hain <tony@hain-global-consulting.com> Cc: doc@freebsd.org Subject: Re: broken instructions for buildkernel Message-ID: <8C5019CC-4959-40D5-B017-6F19E4CBD959@FreeBSD.org> In-Reply-To: <02c901ce6dec$1b330140$519903c0$@hain-global-consulting.com> References: <023e01ce6d47$dab08470$90118d50$@hain-global-consulting.com> <CA%2BtpaK1xidv5ukt_7gWwhRaUzCO44x9Txk6wxsJBP905LWbBiQ@mail.gmail.com> <02c901ce6dec$1b330140$519903c0$@hain-global-consulting.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Jun 20, 2013, at 9:26 PM, Tony Hain <tony@hain-global-consulting.com> = wrote: > Thanks Adam.=20 >=20 > I had been on the page you sent for the 9.0 to 9.1 upgrade of this = machine. > My intent was not to upgrade the machine to 10.0, at this point it was = just > to build the kernel for a new VM. Granted I am not the most engrained = in > FreeBSD procedures, but to me that leads to the "building a kernel" = page.=20 >=20 >=20 >=20 > While buildworld may not be a declared prereq, something in that = process > "fixes" a missing definition. No matter which distro of 10.0 I tried = to > build it would always exit on a missing prototype for yyparse, but = after > buildworld it just ran to completion. That sounds like a prereq to = me... > Even if it is not, a hint on one or both of the pages that reference > building a kernel, about yyparse failures being fixed by buildworld = would > save people frustration and time. If I was the first to stumble over = this, I > wouldn't have been able to find discussion about it on the web, and = still > wouldn't know how to fix it.=20 >=20 If you read the documentation link that Adam send you specifically on = this page: http://www.freebsd.org/doc/handbook/makeworld.html =20 it is demonstrated and advised why things happen: =95 make buildworld This first compiles the new compiler and a few related tools, then uses = the new compiler to compile the rest of the new world. The result ends = up in /usr/obj. =95 make buildkernel This uses the new compiler residing in /usr/obj in order to protect = against compiler-kernel mismatches. if you upgrade from x to y (9 to 10 in this case) you must be sure that = the toolchain and buildtools are up to date, thus you need to make = buildworld even though you do not plan on using it (note that you might get different results = then you might expect, world and kernel needs to be aligned up as = possible to ensure that they understand eachother). There is no need to adjust the documentation for the specific yyparse = step, in the tuture there will be other things that break if people do = not follow the rules described. Thanks Remko --=20 /"\ With kind regards, | remko@elvandar.org \ / Remko Lodder | remko@FreeBSD.org X FreeBSD | = http://www.evilcoder.org / \ The Power to Serve | Quis custodiet ipsos custodes
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8C5019CC-4959-40D5-B017-6F19E4CBD959>