Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Aug 2008 16:04:52 -0400
From:      "Maxim Khitrov" <mkhitrov@gmail.com>
To:        "FreeBSD Questions" <freebsd-questions@freebsd.org>
Subject:   Working ccache configuration for buildworld on amd64?
Message-ID:  <26ddd1750808141304x46ed9e6dhe5bf04363a41626b@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
This is an old problem, but so far I haven't been able to find a
solution. When ccache is used to build world on amd64, the process
fails when /usr/src/lib/csu/i386-elf/crt1.c is compiled. If
WITHOUT_LIB32 is added to src.conf, this problem does not happen.
Likewise, building without ccache works fine.

Has anyone out there been able to find a ccache configuration that
would work in this situation? I tried disabling ccache for some of the
directories under /usr/src and /usr/obj, but it only caused problems
in other stages of the build process.

Here are the default ccache settings from make.conf:

.if exists(/usr/local/libexec/ccache) && !defined(NOCCACHE) && \
    (!empty(.CURDIR:M/usr/src*) || !empty(.CURDIR:M/usr/obj*))
CC=  /usr/local/libexec/ccache/world-cc
CXX= /usr/local/libexec/ccache/world-c++
.endif

And here is what I tried using to isolate the problem, albeit with no success:

.if exists(/usr/local/libexec/ccache) && !defined(NOCCACHE) && \
    (!empty(.CURDIR:M/usr/src*) || !empty(.CURDIR:M/usr/obj*)) && \
    empty(.CURDIR:M/usr/src/lib/csu*) && \
    empty(.CURDIR:M/usr/obj/usr/src/lib/csu*) && \
    empty(.CURDIR:M/usr/obj/lib32/usr/src/lib/csu*)
CC=  /usr/local/libexec/ccache/world-cc
CXX= /usr/local/libexec/ccache/world-c++
.endif

Please let me know if you have a working solution.

- Max



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?26ddd1750808141304x46ed9e6dhe5bf04363a41626b>