Control: retitle -1 ccache may wrongly output a cached dependency list Control: severity -1 important
This is at least important, maybe serious. On Wed, 1 Feb 2017 12:58:03 +0200 Marko Lindqvist <cazf...@gmail.com> wrote: > Package: ccache > Version: 3.3.3-1 > > Building SDL2_mixer-2.0.1 > (https://www.libsdl.org/projects/SDL_mixer/release/) multiple times > with ccache enabled, following reproducible problem occurs. > > 1) Build SDL2_mixer in first source tree. I've used separate builddir > when doing so. > 2) Delete source and build trees used in step 1 so that files in them > will not be found later > 3) Rebuild SDL2_mixer in another (differently named) tree > > Latter build fails with error messages complaining about files > missing in the first, deleted, tree. Such paths should be stored > nowhere as we are talking about completely clean builds here. Ccache > is the thing that does store things between builds, so seems like > likely culprint. Further, issue does not occur if one does 'ccache -C' > before the second build. > > I'll send the exact error message once I have opportunity to > reproduce this again. Anyway, it was about .deps (again; ccache > involvement makes sense as those are created by compiler for which > ccache caches stuff) I also just hit this with the linux package. On some architectures it builds kernels with and without the PREEMPT_RT patches. I found that a dependency list generated from a PREEMPT_RT build may be reused for a standard build; this caused a build failure because the patched source directory had not yet been created. The two commands are: gcc -Wp,-MD,scripts/genksyms/.parse.tab.o.d -Iscripts/genksyms -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89 -I/build/linux-4.9.10/scripts/genksyms -c -o scripts/genksyms/parse.tab.o scripts/genksyms/parse.tab.c gcc -Wp,-MD,scripts/genksyms/.parse.tab.o.d -Iscripts/genksyms -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89 -I/build/linux-4.9.10/debian/build/source_rt/scripts/genksyms -c -o scripts/genksyms/parse.tab.o scripts/genksyms/parse.tab.c and the output in .parse.tab.o.d is (for the latter): scripts/genksyms/parse.tab.o: scripts/genksyms/parse.tab.c \ /usr/include/stdc-predef.h /usr/include/assert.h /usr/include/features.h \ /usr/include/x86_64-linux-gnu/sys/cdefs.h \ /usr/include/x86_64-linux-gnu/bits/wordsize.h \ /usr/include/x86_64-linux-gnu/gnu/stubs.h \ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h /usr/include/stdlib.h \ /usr/lib/gcc/x86_64-linux-gnu/6/include/stddef.h \ /usr/include/x86_64-linux-gnu/bits/waitflags.h \ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ /usr/include/x86_64-linux-gnu/sys/types.h \ /usr/include/x86_64-linux-gnu/bits/types.h \ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \ /usr/include/endian.h /usr/include/x86_64-linux-gnu/bits/endian.h \ /usr/include/x86_64-linux-gnu/bits/byteswap.h \ /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ /usr/include/x86_64-linux-gnu/sys/select.h \ /usr/include/x86_64-linux-gnu/bits/select.h \ /usr/include/x86_64-linux-gnu/bits/sigset.h \ /usr/include/x86_64-linux-gnu/bits/time.h \ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h /usr/include/string.h \ /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ /usr/include/x86_64-linux-gnu/bits/string2.h \ /build/linux-4.9.10/debian/build/source_rt/scripts/genksyms/genksyms.h \ /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ /usr/include/wchar.h /usr/lib/gcc/x86_64-linux-gnu/6/include/stdarg.h \ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ /usr/include/x86_64-linux-gnu/bits/stdio.h Ben. -- Ben Hutchings Any sufficiently advanced bug is indistinguishable from a feature.
signature.asc
Description: This is a digitally signed message part