From owner-freebsd-questions@FreeBSD.ORG Mon Jan 26 23:29:41 2015 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A6751BC6 for ; Mon, 26 Jan 2015 23:29:41 +0000 (UTC) Received: from wonkity.com (wonkity.com [67.158.26.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "wonkity.com", Issuer "wonkity.com" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4AB09160 for ; Mon, 26 Jan 2015 23:29:40 +0000 (UTC) Received: from wonkity.com (localhost [127.0.0.1]) by wonkity.com (8.14.9/8.14.9) with ESMTP id t0QNTcVU014671 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 26 Jan 2015 16:29:38 -0700 (MST) (envelope-from wblock@wonkity.com) Received: from localhost (wblock@localhost) by wonkity.com (8.14.9/8.14.9/Submit) with ESMTP id t0QNTcnt014664; Mon, 26 Jan 2015 16:29:38 -0700 (MST) (envelope-from wblock@wonkity.com) Date: Mon, 26 Jan 2015 16:29:38 -0700 (MST) From: Warren Block To: Scott Bennett Subject: Re: buildworld, buildkernel, and devel/cache In-Reply-To: <201501261843.t0QIhX78006200@sdf.org> Message-ID: References: <201501261245.t0QCjUMD009768@sdf.org> <201501261843.t0QIhX78006200@sdf.org> User-Agent: Alpine 2.11 (BSF 23 2013-08-11) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.4.3 (wonkity.com [127.0.0.1]); Mon, 26 Jan 2015 16:29:38 -0700 (MST) Cc: freebsd-questions@freebsd.org X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Jan 2015 23:29:41 -0000 On Mon, 26 Jan 2015, Scott Bennett wrote: > On Mon., 27 January 2015, Warren Block wrote: >> On Mon, 26 Jan 2015, Scott Bennett wrote: >>> On Mon, 26 Jan 2015 10:24:22 +0200 Ivan Klymenko wrote: >>>>> In /root/.profile I have >>>>> >>>>> CCACHE_DIR=/buildwork/ccache >>>>> export PATH=/usr/local/libexec/ccache:$PATH >>>>> export CCACHE_PATH=/usr/bin:/usr/local/bin >>>>> >>>>> In /root/.cshrc.extensions, a file I source from /root/.cshrc, I have >>>>> >>>>> setenv CCACHE_DIR /buildwork/ccache >>>>> setenv PATH /usr/local/libexec/ccache:$PATH >>>>> setenv CCACHE_PATH /usr/bin:/usr/local/bin >>>>> >>>> This file is in some ways you can >>>> help /usr/local/share/doc/ccache/ccache-howto-freebsd.txt >>> >>> I had read that and hadn't seen how that would work, but after seeing >>> your reply, I tried adding the three lines to /etc/make.conf and got errors, >>> like I had expected: >>> >>> make: "/etc/make.conf" line 18: Missing dependency operator >>> make: RE substitution error: repetition-operator operand invalid >>> make: Unclosed substitution for CXX (, missing) >>> make: "/etc/make.conf" line 20: Undefined variable "${CXX:C,^c++,/usr/local/libexec/ccache/world/c++,1}" >>> make: Fatal errors encountered -- cannot continue >>> make: stopped in /usr/src >>> >>> So my question remains. Please respond if you have something that >>> you have tried and know works. >>> Thanks in advance. >> >> They are shell variables, so set them in the shell, .cshrc or the two >> alternatives mentioned above. > > Well, the instructions in that file say, > > To use ccache for base add the following to /etc/make.conf. You > can replace cc and c++ with the compilers of your choice. (re- > member that only GCC and Clang can build world and kernel) > > && exists(/usr/local/libexec/ccache/world/cc) > CC:=${CC:C,^cc,/usr/local/libexec/ccache/world/cc,1} > CXX:=${CXX:C,^c++,/usr/local/libexec/ccache/world/c++,1} > > which was why I had put those three lines into /etc/make.conf. On your > suggestion, I moved them to /root/.profile and /root/.cshrc.extensions, > with the results that in the csh case, I got (as expected) the > > Badly placed ()'s. > > error. sh gave no errors, so I started a buildworld, which has been running > for a little while already, but with no evidence to be found (e.g., no > counters increasing in "ccache -s" output, no ccache seen running in top, > the only instances of ccache in lastcomm(1) output are the ones I entered > manually to check the counters) that ccache is being used by buildworld at > all. I have not yet tried any ports updates to see whether addition of > those three lines to .profile had any adverse effect upon that process. > Thanks for the try, though. I might have missed something, so let's back up. Shell variables need to be set, and entries in make.conf need to be added. Both are needed.