[ccache] -MD flag and absolute path problem
tal.zilcer at gmail.com
Mon Jan 20 10:49:43 MST 2014
I use a shared cache over NFS to increase cache hits for users on different
*some more info:*
1) ccache version is 3.19
2) CCACHE_BASEDIR=/home (to get hits from different folders)
3) the toolchain is located in the user home folder
*when i try to rebuild busybox i get an error:*
No such file or directory
i compile busybox in my home directory /home/*talz*.
so when i compile i get a cache hit and retrieve the .d file from the cache
and get /home/*other_user*/.... in the .d file(previous hit by another
this is because the -MD flag that causes h files in the toolchain to
be absolute path in the .d file.
*(FYI, this could also happen if my makefile targets were absolute path
and not relative.....)*
i though about one solution which is to add the path of the toolchain
to CCACHE_COMPILERCHECK, resulting in getting cache misses if the toolchain
is not from the user folder.
this will of course cause many not code related cache misses which i wish
also this will not work if the makefile targets are absolute path.
what else can i do???
More information about the ccache