Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Nov 2005 19:26:45 +0100
From:      Jens Schweikhardt <schweikh@schweikhardt.net>
To:        "Andrew P." <infofarmer@gmail.com>
Cc:        tridge@samba.org, freebsd-ports@freebsd.org
Subject:   Re: FreeBSD ccache port is wonderfiul!
Message-ID:  <20051124182645.GA1923@schweikhardt.net>
In-Reply-To: <cb5206420511210825v7b4dc852jf3f29f325d8ed7fd@mail.gmail.com>
References:  <200511210625.16973.ringworm01@gmail.com> <cb5206420511210825v7b4dc852jf3f29f325d8ed7fd@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Nov 21, 2005 at 07:25:15PM +0300, Andrew P. wrote:
...
# Beware, ccache brings bad luck in quite a few cases.
# Start using it for /usr/src and first effects will be visible
# in a few weeks.

This is almost certainly a pilot error. The problem is invariably
one of not understanding how ccache finds the real compiler in
conjunction with not knowing the internals of a 'make buildworld',
especially when CC and CXX are set. (Note to Tridge: buildworld
compiles a cc, installs a complete temporary build environment and
uses that environment's compiler and headers from that point on.
The interesting problem is how to make ccache find the same cc's.
There are ways, but they're not entirely obvious).

The effect of "It works for several days/weeks to build the world, but
then suddenly breaks" is caused by using the /usr/bin/cc compiler in
stages 4.1 and later, when instead /usr/obj/usr/src/tmp/usr/bin/cc must
be used. This stage has headers that differ from the ones /usr/bin/cc
finds in /usr/include. So whenever a macro is added to one of the
headers and that macro used anywhere else the (pilot errored) build
breaks from that moment on.

# IMHO, ccache has still some way to
# go in order into production.

It is ready for production and has been for as long as I use it (1yr).
Please see the thread "Using ccache for build{world, kernel}" on the
current@ mailing list (only two weeks ago).


Regards,

	Jens
-- 
Jens Schweikhardt http://www.schweikhardt.net/
SIGSIG -- signature too long (core dumped)



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