Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 26 Feb 2006 20:57:21 +0200
From:      Ruslan Ermilov <ru@freebsd.org>
To:        Yar Tikhiy <yar@comp.chem.msu.su>
Cc:        hackers@freebsd.org
Subject:   Re: world's toolchain & CPUTYPE
Message-ID:  <20060226185721.GF42677@ip.net.ua>
In-Reply-To: <20060226155009.GB6435@comp.chem.msu.su>
References:  <20060226155009.GB6435@comp.chem.msu.su>

next in thread | previous in thread | raw e-mail | index | archive | help

--Sw7tCqrGA+HQ0/zt
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sun, Feb 26, 2006 at 06:50:09PM +0300, Yar Tikhiy wrote:
> Hi all,
>=20
> Yesterday I hit the following problem:
>=20
> - was given an Athlon XP machine with a fresh CURRENT built with
>   CPUTYPE=3Dathlon-xp;
>=20
> - used it to build a fresh RELENG_6 world with no customizations
>   at all -- __MAKE_CONF=3D/dev/null;
>=20
> - tried to install the world over NFS on an old Pentium machine
>   with some 5.3-BETA;
>=20
> - "make installkernel" failed instantly because install(1) died on
>   signal 4, illegal instruction.
>=20
> Quick investigation showed that the world was built using generic
> i386 code, as expected, but its toolchain was linked against the
> builder system libs contaminated by Athlon-specific code.  It was
> sufficient to rebuild and reinstall all libs on the builder machine
> with no particular CPUTYPE set and then to rebuild the world's
> toolchain again to make the latter run well on the Pentium.
>=20
> I used to be under impression that a world's toolchain should be
> fairly independent from the builder system.  However, this case
> showed that it wasn't quite true.  Is it a known issue, or am I
> missing a key point?  Thanks!
>=20
Simple answer: we just don't support installing "from" NFS,
but we do support installing "to" NFS.  Any documentation
that says it's supported is lying.

More details: during the install, part of the toolchain and
some special install tools that were built on the "build"
host are used.  They have been built using that host's
toolchain, CFLAGS, libraries, etc., but libraries is the
most important factor.  That means that the "install" host
should be CPU/syscall/etc. compatible with the "build"
host.  When "build" =3D=3D "install", all these conditions are
met.  When CPUs match, kernels may be different enough so
there will be missing syscalls.  And so far...


Cheers,
--=20
Ruslan Ermilov
ru@FreeBSD.org
FreeBSD committer

--Sw7tCqrGA+HQ0/zt
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (FreeBSD)

iD8DBQFEAfoRqRfpzJluFF4RAjqFAJ9JIcqPmWyB27/BhcJoqqe0m6KLmwCfRi+R
xPH+DEQNcblcxiDZDXIVxFA=
=rxqO
-----END PGP SIGNATURE-----

--Sw7tCqrGA+HQ0/zt--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060226185721.GF42677>