From owner-freebsd-current@FreeBSD.ORG Sun Sep 12 11:24:26 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 07AAC16A4CE; Sun, 12 Sep 2004 11:24:26 +0000 (GMT) Received: from bremen.shuttle.de (bremen.shuttle.de [194.95.249.251]) by mx1.FreeBSD.org (Postfix) with ESMTP id CE24243D39; Sun, 12 Sep 2004 11:24:24 +0000 (GMT) (envelope-from schweikh@schweikhardt.net) Received: by bremen.shuttle.de (Postfix, from userid 10) id 0BCD13B8F9; Sun, 12 Sep 2004 13:24:22 +0200 (CEST) Received: from hal9000.schweikhardt.net (localhost [127.0.0.1]) i8CBOBVc062527; Sun, 12 Sep 2004 13:24:11 +0200 (CEST) (envelope-from schweikh@hal9000.schweikhardt.net) Received: (from schweikh@localhost) by hal9000.schweikhardt.net (8.13.1/8.13.1/Submit) id i8CBOBih062526; Sun, 12 Sep 2004 13:24:11 +0200 (CEST) (envelope-from schweikh) Date: Sun, 12 Sep 2004 13:24:11 +0200 From: Jens Schweikhardt To: Kris Kennaway Message-ID: <20040912112411.GA62181@schweikhardt.net> References: <412CBC91.3070900@portaone.com> <412CD983.2040700@cronyx.ru> <20040825183342.GA81434@xor.obsecurity.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040825183342.GA81434@xor.obsecurity.org> User-Agent: Mutt/1.5.6i cc: Maxim Sobolev cc: portmgr@FreeBSD.ORG cc: Ruslan Ermilov cc: current@FreeBSD.ORG cc: Roman Kurakin Subject: Re: ccache support for make buildworld/make release X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Sep 2004 11:24:26 -0000 On Wed, Aug 25, 2004 at 11:33:42AM -0700, Kris Kennaway wrote: ... # BTW, I don't think there's anything to set up..you just set # CC="ccache cc" or similar. # # Kris Has anyone gotten this to work? I have fixed the "#ident" problem by patching /usr/src/contrib/gcc/c-ppoutput.c to remove the double quotes, see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16999 --- src/contrib/gcc/c-ppoutput.c 2004/08/26 14:10:04 1.1 +++ src/contrib/gcc/c-ppoutput.c 2004/08/26 14:10:32 @@ -292,7 +292,7 @@ const cpp_string *str) { maybe_print_line (print.map, line); - fprintf (print.outf, "#ident \"%s\"\n", str->text); + fprintf (print.outf, "#ident %s\n", str->text); print.line++; } and installed that cc et al in /usr/bin. I can make it work for buildkernel (cuts down time to 30%, woohoo!), but $ make -s CC='/usr/local/bin/ccache cc' CXX='/usr/local/bin/ccache c++' buildworld and $ make -s CC='/usr/local/bin/ccache /usr/bin/cc' CXX='/usr/local/bin/ccache /usr/bin/c++' buildworld both fail with [...] ===> lib/libpam/modules/pam_unix (all) ===> lib/libpam/libpam (all) ===> lib/libautofs (all) /share/HEAD/src/lib/libautofs/libautofs.c:49:30: fs/autofs/autofs.h: No such file or directory /share/HEAD/src/lib/libautofs/libautofs.c: In function `autoreq_get': /share/HEAD/src/lib/libautofs/libautofs.c:253: error: invalid use of undefined type `struct autofs_userreq' /share/HEAD/src/lib/libautofs/libautofs.c:253: error: dereferencing pointer to incomplete type /share/HEAD/src/lib/libautofs/libautofs.c: In function `do_autoreq_get': [...] while without ccache the buildworld completes successfully as expected. So it's not an issue with my src tree and it's not an issue of leftovers from previous builds as I always start from scratch with cvs co src in an empty directory. I rather expect some subtle interaction of ccache and the CC environment/make variables with the build. A possible candidate is /usr/bin/mkdep which is used a lot during builds and is sensitive to CC settings. Anyone successfully used ccache for a buildworld? Regards, Jens -- Jens Schweikhardt http://www.schweikhardt.net/ SIGSIG -- signature too long (core dumped)