-
Notifications
You must be signed in to change notification settings - Fork 479
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Compiler dependency information incorrectly shared between builds #158
Comments
Thanks for the quick response! I'd re-used an old tree that was still pulling from git.samba.org so I didn't spot the fix when I went searching in the history for likely candidates. :( |
philb
pushed a commit
to openembedded/openembedded-core
that referenced
this issue
Feb 23, 2017
Only the copyright year has been updated in LICENSE.txt. The license text itself has not changed. This version fixes a bug with dependency output that could cause problems when compiling kernels for different MACHINEs using a shared ccache. See ccache/ccache#158 Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
ostroproject-ci
pushed a commit
to ostroproject/ostro-os
that referenced
this issue
Feb 23, 2017
Only the copyright year has been updated in LICENSE.txt. The license text itself has not changed. This version fixes a bug with dependency output that could cause problems when compiling kernels for different MACHINEs using a shared ccache. See ccache/ccache#158 (From OE-core rev: 01751da07a6822f0b5d1c08bb73cc7ef376e39b7) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
ostroproject-ci
pushed a commit
to ostroproject/ostro-os
that referenced
this issue
Feb 23, 2017
Only the copyright year has been updated in LICENSE.txt. The license text itself has not changed. This version fixes a bug with dependency output that could cause problems when compiling kernels for different MACHINEs using a shared ccache. See ccache/ccache#158 (From OE-core rev: 01751da07a6822f0b5d1c08bb73cc7ef376e39b7) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
ostroproject-ci
pushed a commit
to ostroproject/ostro-os
that referenced
this issue
Feb 27, 2017
Only the copyright year has been updated in LICENSE.txt. The license text itself has not changed. This version fixes a bug with dependency output that could cause problems when compiling kernels for different MACHINEs using a shared ccache. See ccache/ccache#158 (From OE-core rev: 01751da07a6822f0b5d1c08bb73cc7ef376e39b7) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
ostroproject-ci
pushed a commit
to ostroproject/ostro-os
that referenced
this issue
Feb 28, 2017
Only the copyright year has been updated in LICENSE.txt. The license text itself has not changed. This version fixes a bug with dependency output that could cause problems when compiling kernels for different MACHINEs using a shared ccache. See ccache/ccache#158 (From OE-core rev: 01751da07a6822f0b5d1c08bb73cc7ef376e39b7) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
ostroproject-ci
pushed a commit
to ostroproject/ostro-os
that referenced
this issue
Mar 1, 2017
Only the copyright year has been updated in LICENSE.txt. The license text itself has not changed. This version fixes a bug with dependency output that could cause problems when compiling kernels for different MACHINEs using a shared ccache. See ccache/ccache#158 (From OE-core rev: 01751da07a6822f0b5d1c08bb73cc7ef376e39b7) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
ostroproject-ci
pushed a commit
to ostroproject/ostro-os
that referenced
this issue
Mar 1, 2017
Only the copyright year has been updated in LICENSE.txt. The license text itself has not changed. This version fixes a bug with dependency output that could cause problems when compiling kernels for different MACHINEs using a shared ccache. See ccache/ccache#158 (From OE-core rev: 01751da07a6822f0b5d1c08bb73cc7ef376e39b7) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
ostroproject-ci
pushed a commit
to ostroproject/ostro-os
that referenced
this issue
Mar 1, 2017
Only the copyright year has been updated in LICENSE.txt. The license text itself has not changed. This version fixes a bug with dependency output that could cause problems when compiling kernels for different MACHINEs using a shared ccache. See ccache/ccache#158 (From OE-core rev: 01751da07a6822f0b5d1c08bb73cc7ef376e39b7) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
ostroproject-ci
pushed a commit
to ostroproject/ostro-os
that referenced
this issue
Mar 1, 2017
Only the copyright year has been updated in LICENSE.txt. The license text itself has not changed. This version fixes a bug with dependency output that could cause problems when compiling kernels for different MACHINEs using a shared ccache. See ccache/ccache#158 (From OE-core rev: 01751da07a6822f0b5d1c08bb73cc7ef376e39b7) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
ostroproject-ci
pushed a commit
to ostroproject/ostro-os
that referenced
this issue
Mar 2, 2017
Only the copyright year has been updated in LICENSE.txt. The license text itself has not changed. This version fixes a bug with dependency output that could cause problems when compiling kernels for different MACHINEs using a shared ccache. See ccache/ccache#158 (From OE-core rev: 01751da07a6822f0b5d1c08bb73cc7ef376e39b7) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
ostroproject-ci
pushed a commit
to ostroproject/ostro-os
that referenced
this issue
Mar 2, 2017
Only the copyright year has been updated in LICENSE.txt. The license text itself has not changed. This version fixes a bug with dependency output that could cause problems when compiling kernels for different MACHINEs using a shared ccache. See ccache/ccache#158 (From OE-core rev: 01751da07a6822f0b5d1c08bb73cc7ef376e39b7) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
ostroproject-ci
pushed a commit
to ostroproject/ostro-os
that referenced
this issue
Mar 3, 2017
Only the copyright year has been updated in LICENSE.txt. The license text itself has not changed. This version fixes a bug with dependency output that could cause problems when compiling kernels for different MACHINEs using a shared ccache. See ccache/ccache#158 (From OE-core rev: 01751da07a6822f0b5d1c08bb73cc7ef376e39b7) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
ostroproject-ci
pushed a commit
to ostroproject/ostro-os
that referenced
this issue
Mar 3, 2017
Only the copyright year has been updated in LICENSE.txt. The license text itself has not changed. This version fixes a bug with dependency output that could cause problems when compiling kernels for different MACHINEs using a shared ccache. See ccache/ccache#158 (From OE-core rev: 01751da07a6822f0b5d1c08bb73cc7ef376e39b7) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
ostroproject-ci
pushed a commit
to ostroproject/ostro-os
that referenced
this issue
Mar 3, 2017
Only the copyright year has been updated in LICENSE.txt. The license text itself has not changed. This version fixes a bug with dependency output that could cause problems when compiling kernels for different MACHINEs using a shared ccache. See ccache/ccache#158 (From OE-core rev: 01751da07a6822f0b5d1c08bb73cc7ef376e39b7) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
ostroproject-ci
pushed a commit
to ostroproject/ostro-os
that referenced
this issue
Mar 4, 2017
Only the copyright year has been updated in LICENSE.txt. The license text itself has not changed. This version fixes a bug with dependency output that could cause problems when compiling kernels for different MACHINEs using a shared ccache. See ccache/ccache#158 (From OE-core rev: 01751da07a6822f0b5d1c08bb73cc7ef376e39b7) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
ostroproject-ci
pushed a commit
to ostroproject/ostro-os
that referenced
this issue
Mar 7, 2017
Only the copyright year has been updated in LICENSE.txt. The license text itself has not changed. This version fixes a bug with dependency output that could cause problems when compiling kernels for different MACHINEs using a shared ccache. See ccache/ccache#158 (From OE-core rev: 01751da07a6822f0b5d1c08bb73cc7ef376e39b7) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
ostroproject-ci
pushed a commit
to ostroproject/ostro-os
that referenced
this issue
Mar 7, 2017
Only the copyright year has been updated in LICENSE.txt. The license text itself has not changed. This version fixes a bug with dependency output that could cause problems when compiling kernels for different MACHINEs using a shared ccache. See ccache/ccache#158 (From OE-core rev: 01751da07a6822f0b5d1c08bb73cc7ef376e39b7) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
ostroproject-ci
pushed a commit
to ostroproject/ostro-os
that referenced
this issue
Mar 7, 2017
Only the copyright year has been updated in LICENSE.txt. The license text itself has not changed. This version fixes a bug with dependency output that could cause problems when compiling kernels for different MACHINEs using a shared ccache. See ccache/ccache#158 (From OE-core rev: 01751da07a6822f0b5d1c08bb73cc7ef376e39b7) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
ostroproject-ci
pushed a commit
to ostroproject/ostro-os
that referenced
this issue
Mar 8, 2017
Only the copyright year has been updated in LICENSE.txt. The license text itself has not changed. This version fixes a bug with dependency output that could cause problems when compiling kernels for different MACHINEs using a shared ccache. See ccache/ccache#158 (From OE-core rev: 01751da07a6822f0b5d1c08bb73cc7ef376e39b7) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
ostroproject-ci
pushed a commit
to ostroproject/ostro-os
that referenced
this issue
Mar 8, 2017
Only the copyright year has been updated in LICENSE.txt. The license text itself has not changed. This version fixes a bug with dependency output that could cause problems when compiling kernels for different MACHINEs using a shared ccache. See ccache/ccache#158 (From OE-core rev: 01751da07a6822f0b5d1c08bb73cc7ef376e39b7) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
daregit
pushed a commit
to daregit/yocto-combined
that referenced
this issue
May 22, 2024
Only the copyright year has been updated in LICENSE.txt. The license text itself has not changed. This version fixes a bug with dependency output that could cause problems when compiling kernels for different MACHINEs using a shared ccache. See ccache/ccache#158 (From OE-Core rev: 01751da07a6822f0b5d1c08bb73cc7ef376e39b7) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
daregit
pushed a commit
to daregit/yocto-combined
that referenced
this issue
May 22, 2024
Only the copyright year has been updated in LICENSE.txt. The license text itself has not changed. This version fixes a bug with dependency output that could cause problems when compiling kernels for different MACHINEs using a shared ccache. See ccache/ccache#158 (From OE-Core rev: 01751da07a6822f0b5d1c08bb73cc7ef376e39b7) Signed-off-by: Mike Crowe <mac@mcrowe.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
We've just upgraded to ccache-3.3.3 and are suffering from problems when compiling kernels under the OpenEmbedded build framework.
The fundamental problem is that dependencies retrieved from the ccache for scripts/genksyms/parse.tab.c contain paths that no longer exist. This upsets the kernel fixdeps tool.
I've attached a script that can be used to reproduce the problem. I used a v4.9 kernel, but it should happen with any even slightly recent kernel version. Uncommenting the CCACHE_DISABLE line causes it to run correctly. Leaving ccache enabled results in:
The generated build3/scripts/genksyms/.parse.tab.o.d file contains:
It seems that during the first build there are no matches in the cache, so both parse.tab.o and .parse.tab.o.d are stored in the cache.
During the second build, the preprocessed output matches, so parse.tab.o is retrieved from the ccache but .parse.tab.o.d is written back to the cache.
During the third build (back in the original source directory), the direct hash matches so both parse.tab.o and .parse.tab.o.d are retrieved from the cache. Unfortunately .parse.tab.o.d refers to the wrong source tree.
Or, from the log file:
The original dependencies file emitted by the compiler contains:
(The cmd_and_fixdep definition in scripts/Kbuild.include can be tweaked not to delete $(depfile) so this gets left behind.)
With ccache-3.1.12 and 3.2.3 the two source trees seem to get different hashes so the failure does not occur:
It seems that ccache can't consider the hash of the preprocessed output to be sufficient when the dependencies file is being generated. Perhaps the -I options need to be thrown into the hash when -Wp,-MD is passed to the compiler?
old.log.gz
new.log.gz
repro.sh
The text was updated successfully, but these errors were encountered: