diff options
author | Robert Yang <liezhi.yang@windriver.com> | 2018-12-17 14:30:27 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-01-14 11:21:57 +0000 |
commit | 2abbc4d0cd571e82ed6188d3b2d84b4cd6be25e8 (patch) | |
tree | 5cb8ac65c9a4a77f7ba2f5b06996745c254fa73e /meta/conf/ccache.conf | |
parent | 36cead66fbadd8c3827aec4b67ea124ee3c2ff94 (diff) | |
download | openembedded-core-contrib-2abbc4d0cd571e82ed6188d3b2d84b4cd6be25e8.tar.gz |
ccache.bbclass: Set CCACHE_CONFIGPATH to fix race issues
Fixed race issues when parallel build:
ccache: error: /path/to/ccache/i586-poky-linux/mmc-utils/ccache.conf: No such file or directory
ccache: error: /path/to/ccache/i586-poky-linux/mmc-utils/ccache.conf: No such file or directory
This is because we set CCACHE_DIR for earch recipe, and ccache will create a
ccache.conf for each CCACHE_DIR when CCACHE_CONFIGPATH is not set, but there
might be a race issue in parallel build:
ccache gcc file1.c
ccache gcc file2.c
If the two ccache processes use fopen(path, "w") to create ccache.conf at the
same time, the error would happen. Set CCACHE_CONFIGPATH to
meta/conf/ccache.conf can fix the problem, and we can add other configs to the
file when needed.
And also set cache_dir_levels to 1 (default is 2) since each recipe has a cache
dir, thus we don't have too many files in one dir.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Diffstat (limited to 'meta/conf/ccache.conf')
-rw-r--r-- | meta/conf/ccache.conf | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/meta/conf/ccache.conf b/meta/conf/ccache.conf new file mode 100644 index 0000000000..931012dec9 --- /dev/null +++ b/meta/conf/ccache.conf @@ -0,0 +1,2 @@ +max_size = 0 +cache_dir_levels = 1 |