Questions about CCACHE and shared cache

View: New views
2 Messages — Rating Filter:   Alert me  

Questions about CCACHE and shared cache

by yince :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Hi,

I would like to share the cache of our continuous build server in read only.

I think I need to set those variables:

On each developer machine.

CCACHE_READONLY = 1
CCACHE_NOLINK = 1
CCACHE_DIR = /share/builds/ccache
CCACHE_TEMPDIR = /tmp/ccache
CCACHE_LOGFILE = /tmp/ccache/ccache.log
CCACHE_NOSTATS = 1

On the build server.

CCACHE_DIR = /share/builds/ccache
CCACHE_RECACHE = 1
CCACHE_LOGFILE = /buildResults/yyyymmdd/ccache.log

Questions:

The CCACHE_NOLINK variable is not listed in the ccache
environment variables in the man page.
Is it a special variable reserved for sharing the cache?

When using the CCACHE_READONLY on the developper
machine, are the stats are off by default because the
stats are written in the cache?
Do I need to set the CCACHE_NOSTATS?

Do the log file will work locally on the developer computer
even if with the CCACHE_NOSTATS?

In the man page, it is written:
    The default is the same as CCACHE_DIR. Note that the
    CCACHE_TEMPDIR  path must be on the same filesystem
    as the CCACHE_DIR path, so that renames of files between
    the two directories can work
I'm not sure what does it means in my situation. Did I set
correctly the CCACHE_TEMPDIR varible on the developer's machine?

ccache uses the "real compilers size and modification time"
in is hash. What does it means? Executable size?
Modification time of what?

Do I need to set the CCACHE_TEMPDIR on the server side?

How ccache deals with the current working directory?
The developers and the server current working directory can
be different and so the debugging information inside.

How ccache deals with the macros '__FILE__' , '__DATE__' ,
'__TIME__' ?

Thanks a lot for helping me.

I know I asked a lot of question ;)

Best Regards,
Vincent


_________________________________________________________________
Ouverture de Messenger sur le nouveau MSN = plus rapide!
http://go.microsoft.com/?linkid=9677415
_______________________________________________
ccache mailing list
ccache@...
https://lists.samba.org/mailman/listinfo/ccache

Re: Questions about CCACHE and shared cache

by wsfulton :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Vincent Dupuis wrote:

> Hi,
>
> I would like to share the cache of our continuous build server in read only.
>
> I think I need to set those variables:
>
> On each developer machine.
>
> CCACHE_READONLY = 1
> CCACHE_NOLINK = 1
> CCACHE_DIR = /share/builds/ccache
> CCACHE_TEMPDIR = /tmp/ccache
> CCACHE_LOGFILE = /tmp/ccache/ccache.log
> CCACHE_NOSTATS = 1
>
> On the build server.
>
> CCACHE_DIR = /share/builds/ccache
> CCACHE_RECACHE = 1
> CCACHE_LOGFILE = /buildResults/yyyymmdd/ccache.log
>
>  
I don't see why CCACHE_RECACHE is necessary. The files are cached only
if they need to be. This option will just slow down your build server.

> Questions:
>
> The CCACHE_NOLINK variable is not listed in the ccache
> environment variables in the man page.
> Is it a special variable reserved for sharing the cache?
>
>  
There is no CCACHE_NOLINK env variable in the source that I can see. The
latest debian version of the documentation has a patch to fix these docs
and corrects it to unsetting CCACHE_HARDLINK.

> When using the CCACHE_READONLY on the developper
> machine, are the stats are off by default because the
> stats are written in the cache?
> Do I need to set the CCACHE_NOSTATS?
>
> Do the log file will work locally on the developer computer
> even if with the CCACHE_NOSTATS?
>
> In the man page, it is written:
>     The default is the same as CCACHE_DIR. Note that the
>     CCACHE_TEMPDIR  path must be on the same filesystem
>     as the CCACHE_DIR path, so that renames of files between
>     the two directories can work
> I'm not sure what does it means in my situation. Did I set
> correctly the CCACHE_TEMPDIR varible on the developer's machine?
Use df on each directory path to see if the filesystems match.
> ccache uses the "real compilers size and modification time"
> in is hash. What does it means? Executable size?
> Modification time of what?
>  
Yes executable size and time stamp of the executable file.

> Do I need to set the CCACHE_TEMPDIR on the server side?
>
> How ccache deals with the current working directory?
> The developers and the server current working directory can
> be different and so the debugging information inside.
>
> How ccache deals with the macros '__FILE__' , '__DATE__' ,
> '__TIME__' ?
>
>
>  
When the preprocessor gives different output for those variables, then
you get a cache miss.

William

_______________________________________________
ccache mailing list
ccache@...
https://lists.samba.org/mailman/listinfo/ccache