summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Rosdahl <joel@rosdahl.net>2011-12-20 22:21:46 +0100
committerJoel Rosdahl <joel@rosdahl.net>2011-12-20 22:21:46 +0100
commitc2d33fe861f49329fcedeca691bbc63b04794c43 (patch)
tree11ad0547f4f91bd60d32bf863fb16aac282ba31e
parent3595be06de93cb8c4255171be8a647af4e5d460d (diff)
downloadccache-c2d33fe861f49329fcedeca691bbc63b04794c43.tar.gz
Improve description on how to fix bad object files in the cache
-rw-r--r--MANUAL.txt13
1 files changed, 9 insertions, 4 deletions
diff --git a/MANUAL.txt b/MANUAL.txt
index 0a67b9f1..f15d6667 100644
--- a/MANUAL.txt
+++ b/MANUAL.txt
@@ -771,10 +771,15 @@ It should be noted that ccache is susceptible to general storage problems. If a
bad object file sneaks into the cache for some reason, it will of course stay
bad. Some possible reasons for erroneous object files are bad hardware (disk
drive, disk controller, memory, etc), buggy drivers or file systems, a bad
-*CCACHE_PREFIX* command or compiler wrapper. If this happens, you can either
-find out which object file is broken by reading the debug log and then delete
-the bad object file from the cache, or you can simply clear the whole cache
-with *ccache -C* if you don't mind losing other cached results.
+*CCACHE_PREFIX* command or compiler wrapper. If this happens, the easiest way
+of fixing it is this:
+
+1. Build so that the bad object file ends up in the build tree.
+2. Remove the bad object file from the build tree.
+3. Rebuild with *CCACHE_RECACHE* set.
+
+An alternative is to clear the whole cache with *ccache -C* if you don't mind
+losing other cached results.
There are no reported issues about ccache producing broken object files
reproducibly. That doesn't mean it can't happen, so if you find a repeatable