Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Feb 2008 16:33:52 +0200
From:      Kostik Belousov <kostikbel@gmail.com>
To:        Kai Wang <kaiwang27@gmail.com>
Cc:        freebsd-current@freebsd.org
Subject:   Re: [HEADS UP] ar(1) front-end committed. (notes for cross compile)
Message-ID:  <20080221143351.GP57756@deviant.kiev.zoral.com.ua>
In-Reply-To: <20080221140247.GC2022@plan0.kaiwan.csbnet.se>
References:  <20080221131209.GA2022@plan0.kaiwan.csbnet.se> <20080221140247.GC2022@plan0.kaiwan.csbnet.se>

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

--M8LGuhT/2+u1DQ9j
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Feb 21, 2008 at 03:02:47PM +0100, Kai Wang wrote:
> On Thu, Feb 21, 2008 at 02:12:09PM +0100, Kai Wang wrote:
> > Hello list,
> >=20
> > I just committed ar(1) front-end. Note that you NEED update your
> > world before you can successfully perform cross platform buildworld.
> >=20
> > You can update your system by:
> > make buildworld
> > ...
> > make installworld
> >=20
> > or you can just install ar(1) by hand.
> > (replace /usr/bin/ar and /usr/bin/ranlib by hand)
> >=20
> > This is needed because GNU Binutils ar and ranlib gets renamed to gar
> > and granlib, and when you perform a cross platform buildworld, the
> > build system will instead use /usr/bin/ar and /usr/bin/ranlib, which
> > is not capable of cross build.
>=20
> I think it's neccessary to explain it a bit.  When you start
> cross-platform world build, the toolchain targarting that platform
> will be built first. Then the resulting cross-platform toolchain is
> used to build the world for that platform. ar(1) and ranlib(1) are
> part of the toolchain.
>=20
> After I renamed them to gar and granlib, the build system can no
> longer find them, as a result it will use default ones, i.e.,
> /usr/bin/ar and /usr/bin/ranlib, which target your current platform
> and thus can not be used to cross build.
>=20
> You can solve this problem by updating your own world first, or by=20
> replacing '/usr/bin/ar' and '/usr/bin/ranlib' with 'BSD' ar and ranlib
> by hand. 'BSD' ar is platform independent and handles all the ELF
> targets thus can be used directly (no need to recompile itself for
> target platform) by the build system.

Shall the crossbuild for CURRENT work on RELENG_[67] ? If not, this is a
huge regression.

--M8LGuhT/2+u1DQ9j
Content-Type: application/pgp-signature
Content-Disposition: inline

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

iEUEARECAAYFAke9i88ACgkQC3+MBN1Mb4hRMQCTB1QYwK37HvcuB1pWZTVRdBDi
BQCgoGqz2Bzl3ZdavS8WZzc80kA6OBI=
=ev9C
-----END PGP SIGNATURE-----

--M8LGuhT/2+u1DQ9j--



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