[ccache] problems with buildworld & gcc45 on ports

Joel Rosdahl joel at rosdahl.net
Fri Jun 24 09:03:44 MDT 2011

On 2011-06-24 06:40, Beeblebrox wrote:
> Thanks for the answer. The main question has been posted on a forum
> for a while, and judging from the number of views / hits the post has
> had, this appears to be a broader issue. I have also gone through the
> ccache manual many times, to the best of my current ability, without
> success. The post in question:
> http://forums.freebsd.org/showthread.php?t=24286

Regarding issue 4 (about CCACHE_CPP2): I'm not familiar with BSD make
syntax and semantics, but I suspect that setting CCACHE_CPP2=yes in
make.conf only sets a make variable, not an environment variable that
ccache is able to see. I don't know how you're supposed to set
environment variables in FreeBSD (maybe in /etc/profile?), but you can
always set it yourself in your shell ("export CCACHE_CPP2=yes" or so)
before building.

As mentioned in the troubleshooting part of the manual, you can set the
environment variable CCACHE_LOGFILE to a file name, then perform the
build and then look at the file to get some clues about what happens.

> Also, one Major question I have is: does ccache handle a
> dual-gcc-setup (I suppose It should) without problems

I don't know what you mean with dual-gcc-setup, but if you have two
compilers with different names, then there should be nothing that can go
wrong. However, if there are multiple compilers behind the same name,
then ccache needs to be able to tell them apart. This is by default done
by looking at the compiler's mtime (and size). If the mtime doesn't
change when compilers are switched, then ccache will happily return
cached results from the previous compiler. One example when this can
happen is if (for instance) /usr/bin/gcc is a wrapper script that runs
one of several compilers depending on an environment variable or
configuation file. In that case, you can configure ccache to run
something like "gcc -v" instead to identify the compiler. See
CCACHE_COMPILERCHECK in the ccache manual.

> and what is the correct syntax for the gcc45 section?

I don't know what that means.

-- Joel

More information about the ccache mailing list