Date: Wed, 24 Mar 2004 17:00:30 +0200 From: Ruslan Ermilov <ru@FreeBSD.org> To: Kris Kennaway <kris@obsecurity.org> Cc: current@FreeBSD.org Subject: Re: [FAQ] Prerequisites for a successful buildworld/buildkernel Message-ID: <20040324150030.GC42844@ip.net.ua> In-Reply-To: <20040324093101.GA44928@xor.obsecurity.org> References: <20040324012315.GA40315@xor.obsecurity.org> <20040324065815.GA40963@ip.net.ua> <20040324070256.GA44741@xor.obsecurity.org> <20040324082045.GA41172@ip.net.ua> <20040324093101.GA44928@xor.obsecurity.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--TYecfFk8j8mZq+dy Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Mar 24, 2004 at 01:31:01AM -0800, Kris Kennaway wrote: > On Wed, Mar 24, 2004 at 10:20:45AM +0200, Ruslan Ermilov wrote: >=20 > > > > Yes, src/sys/ is self-sufficient, except for some tools used during > > > > buildkernel, aicasm is one of them. > > >=20 > > > ...which was the content of my question. So, upgrades (buildworld > > > then buildkernel) apparently don't work if you don't have /usr/include > > > installed to begin with. > > >=20 > > Of course not. For a successful buildworld (and buildkernel), > > it is required to have a complete and non-broken build system, > > as we still build lot of tools using the host toolchain. >=20 > > - build-tools. These are special small helper applications > > that are built and used only during buildworld/buildkernel. > > For example, "mkinit" for bin/sh and "aicasm" for the > > Adaptec SCSI drivers. >=20 > By the time we get to building the kernel, we have already built world > successfully, and a complete up-to-date toolchain is available (but > not yet installed in the default location on the host). The failure > case I reported to you occurs at this point; missing db.h will allow > the world to build, but kernel builds to fail. >=20 > In other words there's no need for kernel build tools to fail, because > everything they require is available from the output of 'make > buildworld'. Whether or not it is difficult to use these in the > current FreeBSD build implementation is another matter, but your > general "of course not" is missing my specific point. >=20 No, we cannot use "up-to-date" (target) toolchain to build "aicasm", because using this toolchain will produce binaries that may be incompatible with the running kernel -- it will link them with fresh libraries (which the currently running kernel don't necessarily will survive) and headers. Furthemore, it may be for a different hardware architecture, and we need to _run_ "aicasm" to build the kernel, hence it should be built using host toolchain (including libraries and headers). Re-read carefully what I've said before. Cheers, --=20 Ruslan Ermilov FreeBSD committer ru@FreeBSD.org --TYecfFk8j8mZq+dy Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (FreeBSD) iD8DBQFAYaKOUkv4P6juNwoRAnhDAJ42MBKp2tY2pxtLmaeG8CtMnCyk3wCfVK+A uV6+XrMEDZCEitcddt1kKFo= =Jr3t -----END PGP SIGNATURE----- --TYecfFk8j8mZq+dy--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040324150030.GC42844>