Skip site navigation (1)Skip section navigation (2)
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>