Date: Mon, 26 Jan 2015 16:29:38 -0700 (MST) From: Warren Block <wblock@wonkity.com> To: Scott Bennett <bennett@sdf.org> Cc: freebsd-questions@freebsd.org Subject: Re: buildworld, buildkernel, and devel/cache Message-ID: <alpine.BSF.2.11.1501261625370.13608@wonkity.com> In-Reply-To: <201501261843.t0QIhX78006200@sdf.org> References: <201501261245.t0QCjUMD009768@sdf.org> <alpine.BSF.2.11.1501260857450.4046@wonkity.com> <201501261843.t0QIhX78006200@sdf.org>
index | next in thread | previous in thread | raw e-mail
On Mon, 26 Jan 2015, Scott Bennett wrote:
> On Mon., 27 January 2015, Warren Block <wblock@wonkity.com> wrote:
>> On Mon, 26 Jan 2015, Scott Bennett wrote:
>>> On Mon, 26 Jan 2015 10:24:22 +0200 Ivan Klymenko <fidaj@ukr.net> 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.
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.11.1501261625370.13608>
