Projects / ccache


ccache is a compiler cache. It speeds up recompilation of C/C++ code by caching previous compilations and detecting when the same compilation is being done again.


Recent releases

  •  06 Jan 2013 17:09

    Release Notes: The EAGAIN signal is now handled correctly when emitting cached stderr output; this fixes a problem triggered by large error outputs from the compiler. Subdirectories in the cache are no longer created in read-only mode. ccache's log file descriptor is no longer made available to the compiler. Error reporting when failing to create temporary stdout/stderr files when executing the compiler has been improved. Disappearing temporary stdout/stderr files are now handled gracefully. The test suite has been fixed to work on ecryptfs.

    •  11 Aug 2012 13:41

      Release Notes: Paths to dependency files are now rewritten into relative order of increased cache hits. A workaround has been added to make ccache work with a buggy GCC 4.1 when creating a pre-compiled header. Clang plugins are now hashed to catch plugin upgrades. ccache no longer crashes when the current working directory has been removed or when stderr is closed. This release corrects a corner case when parsing backslash escapes in string literals. Paths are now correctly canonicalized when computing paths relative to the base directory.

      •  08 Jan 2012 15:01

        Release Notes: Several minor bugs have been fixed: failure when creating files in the cache directory has been made fatal. Recognition and hashing of GCC plugins specified with -fplugin=file has been added. CPATH, C_INCLUDE_PATH, and similar environment variables are now added to the hash to avoid false cache hits when such variables have changed. The GCC bug compatibility introduced in ccache 3.1.5 for -MT/-MQ options with concatenated arguments has been reverted.

        •  21 Aug 2011 14:46

          Release Notes: This release adds support for rewriting the --sysroot argument if CCACHE_BASEDIR is used. It fixes a bug when getcwd() fails. It fixes bad alignment in "ccache -s" output.

          •  29 May 2011 16:36

            Release Notes: Minor bugfixes and improvements have been made. There is a new statistics counter named "called for preprocessing'', improved logging, and better handling of -MF/-MT/-MQ options.

            Recent comments

            07 Jan 2003 19:44 tridge

            Re: Patches

            Most of these changes are in 2.1, except for the copy_permissions() code. I suggest an equivalent method using umask and directory permissions in the docs instead.

            21 Oct 2002 16:03 afuruhed

            I think ccache is one of the best additions to the development tool chain/box in a number of years.
            I have made changes to fix a few problems that we had with ccache. By using a shared ccache among our group of developers, the compile times are cut drastically in situations such as when new code has been pulled from the SCM repository.

            Our updates can be found here:

            04 Jun 2002 23:49 bootswork

            Use this with ccache...
            See also distcc (, which works well with ccache (or by itself). It distributes the work of compilation across several machines on a network.

            24 May 2002 16:29 msilveira

            Outstanding tool for packagers!
            Ccache is simply great. Wether you are playing with some source code or you're a software packager, ccache will save you precious time on recompiling. For some like me, with a slow computer (P2-266), recompiling glibc because you have mistyped something or whatever mistake you've done means other two hours-waiting, that's when ccache gets into the scene to save the world, much like a "C compiling super-hero".

            It will simply get the pre-compiled, disk-cached, ready-to use "pieces", and your CPU will have to handle the simple job of putting all those "pieces" together, instead of spending time processing all the arithimetics again. ;)

            (Just imagine how pissed you'll get if you have forgotten something in openoffice's compile procedure, and realized that mistake when you're about to install or package it!? :-O ... err)

            Great Job Andrew...

            Great Job Erik...


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.