From owner-freebsd-ports@FreeBSD.ORG Thu Nov 24 23:10:58 2005 Return-Path: X-Original-To: freebsd-ports@freebsd.org Delivered-To: freebsd-ports@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2C87016A423 for ; Thu, 24 Nov 2005 23:10:58 +0000 (GMT) (envelope-from infofarmer@gmail.com) Received: from zproxy.gmail.com (zproxy.gmail.com [64.233.162.198]) by mx1.FreeBSD.org (Postfix) with ESMTP id 400BA43F2F for ; Thu, 24 Nov 2005 19:25:53 +0000 (GMT) (envelope-from infofarmer@gmail.com) Received: by zproxy.gmail.com with SMTP id 8so247205nzo for ; Thu, 24 Nov 2005 11:25:52 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=LZNEPTviFWGt60mgO1+3aQUDnIMDH696pwYulgSorHyiHE/ZkFnAyK291qle9Q4JxtpqtJHqi/cZu5a0XZ+zWWgcgHRTFmhbDFjM3jr7oj8jjlACO8aDnxm6w68rsywCw5SNuHCuGCaUoRysY+7fzwNeOMMc6xrG+hjfsu/IVfM= Received: by 10.36.227.10 with SMTP id z10mr579006nzg; Thu, 24 Nov 2005 11:25:52 -0800 (PST) Received: by 10.37.20.33 with HTTP; Thu, 24 Nov 2005 11:25:52 -0800 (PST) Message-ID: Date: Thu, 24 Nov 2005 22:25:52 +0300 From: "Andrew P." To: Jens Schweikhardt In-Reply-To: <20051124182645.GA1923@schweikhardt.net> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <200511210625.16973.ringworm01@gmail.com> <20051124182645.GA1923@schweikhardt.net> Cc: tridge@samba.org, freebsd-ports@freebsd.org Subject: Re: FreeBSD ccache port is wonderfiul! X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Nov 2005 23:10:58 -0000 On 11/24/05, Jens Schweikhardt wrote: > 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) > Yes, you're right. My understanding of gcc itself is quite vague and that prevented me from seeing that my installed compiler suite might just not be suitable for building the new world. By saying "to go into production" I meant this: ccache is based on such a great idea, that it is a wonder that it haven't been integrated into build processes such as buildworld or even gcc itself yet. As we can see, there are some problems with using ccache in production. While that's not a fault of Andrew Tridgell (or anybody's else for that matter), we must find a clear way to work around these issues so that all and everybody can stop wasting their CPU cycles on recompiling the same thing over and over. Thanks for understanding and sorry for misunderstading. Take care, Andrew P.