On 10/02/2017 16:35, Pete Wright wrote:


On 10/02/2017 16:33, Matt Joras wrote:
On 10/02/2017 15:23, Pete Wright wrote:

On 10/02/2017 13:07, Pete Wright wrote:
hey there,
i've been unable to buildworld using ccache for a while. initially i
assumed it was due to some incompatibilities on the drm-next branch
which i was running, but i've since cut over to CURRENT and am still
having issues.  running "make buildworld" i am running into this
exception:

/usr/home/pwright/git/freebsd/lib/libufs/cgroup.c:217:11: error: no
member named 'fs_metackhash' in 'struct fs'
         if ((fs->fs_metackhash & CK_CYLGRP) != 0) {
              ~~  ^


full exception here:
https://gist.github.com/nomadlogic/30771aacd05d6dbb1c0cbebfb2ef6b61

I am going to re-run this w/o ccache - to verify that this is a
ccache related issue.  I guess my first question - is anyone else
using ccache successfully?

fwiw building the world without ccache works as expected. perhaps my
make.conf is not correctly configured?

$ cat /etc/make.conf
.if !defined(NO_CCACHE)
   CC= /usr/local/libexec/ccache/world/cc
   CXX= /usr/local/libexec/ccache/world/c++
.endif

cheers,
-pete

Someone can correct me if I'm wrong but I believe the current "correct"
way to get ccache builds is WITH_CCACHE_BUILD set in src.conf.
src.conf(5) seems to indicate as much as well. To answer your question,
yes, I am I'm sure many others are building world on HEAD with ccache
without issue.

thanks, i had another person point me in this direction - and after reading the man page it does indeed clearly state as much :)

what had tripped me up is that the ccache portfile installs:
/usr/local/share/doc/ccache/ccache-howto-freebsd.txt

which does not mention src.conf, but states:

<snip>
To use ccache for base add the following to /etc/make.conf.
You can replace cc and c++ with the compilers of your choice.
(remember that only GCC and Clang can build world and kernel)

.if (!empty(.CURDIR:M/usr/src*) || !empty(.CURDIR:M/usr/obj*))
.if !defined(NOCCACHE) && 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}
.endif
.endif
</snip>

if i'm able to successfully build my world and kernel via src.conf i'll file a PR against the ccache port.

cheers!
-pete


I can verify that this works on my system, firing off a PR now to the ports team to update documentation shortly :)

thanks for the input everyone.

-pete

--
Pete Wright
p...@nomadlogic.org
@nomadlogicLA

_______________________________________________
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to