Date: Thu, 12 Jan 2006 12:25:08 +0200 From: Ruslan Ermilov <ru@freebsd.org> To: Ceri Davies <ceri@submonkey.net>, cvs-ports@freebsd.org, cvs-all@freebsd.org, ports-committers@freebsd.org Subject: Re: cvs commit: ports/devel/ccache Makefile Message-ID: <20060112102508.GC22138@ip.net.ua> In-Reply-To: <20060112093633.GB28781@submonkey.net> References: <200601111549.k0BFnQQ2094145@repoman.freebsd.org> <b2203fed0601110810y6d225490m47a4fa3b2cbe9ba9@mail.gmail.com> <20060111163046.GS97223@submonkey.net> <20060111192504.GB36556@ip.net.ua> <20060112093633.GB28781@submonkey.net>
next in thread | previous in thread | raw e-mail | index | archive | help
--jousvV0MzM2p6OtC
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
On Thu, Jan 12, 2006 at 09:36:33AM +0000, Ceri Davies wrote:
> On Wed, Jan 11, 2006 at 09:25:04PM +0200, Ruslan Ermilov wrote:
> > On Wed, Jan 11, 2006 at 04:30:46PM +0000, Ceri Davies wrote:
> > > On Wed, Jan 11, 2006 at 11:10:06AM -0500, michael johnson wrote:
> > > > On 1/11/06, Ruslan Ermilov <ru@freebsd.org> wrote:
> > > > >
> > > > > ru 2006-01-11 15:49:25 UTC
> > > > >
> > > > > FreeBSD ports repository
> > > > >
> > > > > Modified files:
> > > > > devel/ccache Makefile
> > > > > Log:
> > > > > Attempt to attract maintainer's attention to a problem a lot of
> > > > > our users reported when doing "make buildworld" with NOCCACHE
> > > > > defined (hardcodes CC and CXX to "/usr/bin/{cc|c++}").
> > > >=20
> > > >=20
> > > > Please feel free to change what ever in ccache so it works. I won't=
be doing
> > > > much with freebsd for the next little bit.
> > >=20
> > > My ccache entry in make.conf looks like:
> > >=20
> > > # ccache
> > > .if !defined(NOCCACHE) && exists(/usr/local/libexec/ccache/cc)
> > > .if ${.CURDIR:M/usr/src*}
> > > CC=3D/usr/local/libexec/ccache/cc
> > > CXX=3D/usr/local/libexec/ccache/c++
> > > .else
> > > CC=3Dcc
> > > CXX=3Dc++
> > > .endif
> > > .else
> > > CC=3D/usr/bin/cc
> > > CXX=3D/usr/bin/c++
> > > .endif
> > >=20
> > > I could probably have used PREFIX too, but that always =3D=3D /usr/lo=
cal on
> > > my machines.
> > >=20
> > The last ".else" part is the problem when doing "make buildworld" and
> > NOCCACHE is defined. I have no idea what will break if we just remove
> > it (i.e., revert rev. 1.2 to this patch).
>=20
> Oh, my bad. Turns out I don't have ccache installed so the whole thing
> is getting ignored.
>=20
> Man, I was having a bad day yesterday. Let's see what else I've
> broken...
>=20
The problem is not with having or not having ccache installed, but
with the hardcoded /usr/bin/cc and /usr/bin/c++ if NOCCACHE is
defined. This breaks buildworld as follows:
- buildworld sets CC and CXX to point to specially built compilers
available somewhere inside ${WORLDTMP},
- these compilers pick up correct (up-to-date) versions of headers,
libraries, etc., from ${WORLDTMP},
- setting CC and CXX in /etc/make.conf makes them global variables,
of a higher precedence than those that buildworld passes in
shell environment,
- buildworld uses wrong compilers that pick up wrong headers etc.,
- buildworld breaks.
I don't care to fix the port (mostly because I'm not familiar with
ccache) but I'm full with getting mysterious build failure reports
=66rom our users, where in 90% of cases this was caused by the wrong
contents of /etc/make.conf suggested by port installation example.
Cheers,
--=20
Ruslan Ermilov
ru@FreeBSD.org
FreeBSD committer
--jousvV0MzM2p6OtC
Content-Type: application/pgp-signature
Content-Disposition: inline
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (FreeBSD)
iD8DBQFDxi6EqRfpzJluFF4RAnobAJ99N+5Kmj0aSi5mSZAfr/a3zfgwkwCfSLt7
foiX2ViTdetK0JAQ0etnFNk=
=Mugw
-----END PGP SIGNATURE-----
--jousvV0MzM2p6OtC--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060112102508.GC22138>
