From owner-freebsd-current@freebsd.org Tue Oct 3 03:16:07 2017 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 96A5AE2EDC7 for ; Tue, 3 Oct 2017 03:16:07 +0000 (UTC) (envelope-from pete@nomadlogic.org) Received: from vps-mail.nomadlogic.org (mail.nomadlogic.org [IPv6:2607:f2f8:a098::2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5419426A6 for ; Tue, 3 Oct 2017 03:16:07 +0000 (UTC) (envelope-from pete@nomadlogic.org) Received: from [192.168.1.208] (cpe-23-242-94-236.socal.res.rr.com [23.242.94.236]) by vps-mail.nomadlogic.org (OpenSMTPD) with ESMTPSA id 073032ff TLS version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO for ; Mon, 2 Oct 2017 20:16:05 -0700 (PDT) Subject: Re: building world via ccache broken? To: freebsd-current@freebsd.org References: <0e4e8110-9b79-2010-852c-3815885d3523@nomadlogic.org> From: Pete Wright Message-ID: Date: Mon, 2 Oct 2017 20:16:04 -0700 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.23 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: Tue, 03 Oct 2017 03:16:07 -0000 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: > > > 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 > > > 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 pete@nomadlogic.org @nomadlogicLA