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>