ccache on amd64

RW fbsd06 at
Thu Sep 25 01:01:03 UTC 2008

On Thu, 25 Sep 2008 01:00:07 +0200
Mel <fbsd.questions at> wrote:

> Since it fails on the link, I wonder if the wrong linker is called by
> ccache. I'll see what I can find out when it quiets down, right now
> machine is under heavy load.
> (It might just be the path you set in /etc/profile. I use only 
> the /etc/make.conf version, not set the path additionally and 
> make -f /usr/src/Makefile.inc1 -V LIB32WMAKE shows it's mangeling the
> path)

world-cc does this:

exec /usr/local/libexec/ccache/cc "$@"

So it unsets any ccache path variable set in /etc/profile.

For the benefit of anyone that didn't follow the previous thread, the
issue was that in building 32-bit libraries under amd64, extra
arguments get passed to the compiler inside the CC variable
definition, hence the problem with overriding CC/CXX. I doubt that those
updated make.conf settings have had much testing, they were just
something suggested in a thread.

BTW I would suggest CCACHE_HASH_COMPILER is set globally, otherwise
building world invalidates any cache object built with the default
compiler. Only having it on for world is the default, but it seems
perverse to me - I see most of the benefit of ccache on port building. 

More information about the freebsd-questions mailing list