[ccache] Re: ccache build failed, but no-ccache succedded

Erik Cederstrand erik at cederstrand.dk
Wed Oct 31 12:18:21 GMT 2007


Erik Cederstrand wrote:
> Hi!
> 
> I'm compiling CURRENT FreeBSD sources, and I just noticed that a compile 
> using ccache failed, while the same sources build fine without ccache. 
> It was my understanding that this should never be the case. I have 
> captured the complete logs from the two builds[1]. Here's some info:
> 
> Error message from ccache build:
> 
> [...]
> /usr/local/libexec/ccache/world-cc -O2 -fno-strict-aliasing -pipe 
> -I/usr/src/lib/csu/i386-elf/../common 
> -I/usr/src/lib/csu/i386-elf/../../libc/include -Wsystem-headers -Wall 
> -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes 
> -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual 
> -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter 
> -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls 
> -Wno-pointer-sign -c /usr/src/lib/csu/i386-elf/crt1.c
> {standard input}: Assembler messages:
> {standard input}:27: Error: suffix or operands invalid for `mov'
> *** Error code 1
> 
> Stop in /usr/src/lib/csu/i386-elf.
> *** Error code 1
> 
> 
> Host: FreeBSD 7.0-PRERELEASE #4, amd64
> Source tree: FreeBSD CURRENT, CVS date 2007.10.26.17.06.07 UTC
> 
> Compile commands (using ccache):
> 
>   cd /usr/src
>   unset CCACHE_PATH
>   CC="/usr/local/libexec/ccache/world-cc"
>   CXX="/usr/local/libexec/ccache/world-c++"
>   make CC=$CC CXX=$CXX buildworld
> 
> No ccache:
> 
>   cd /usr/src
>   make buildworld
> 
> world-cc/c++ are simple wrappers around their ccache equivalents:
>   # less /usr/local/libexec/ccache/world-cc
>   #!/bin/sh
>   unset CCACHE_PATH
>   export CCACHE_HASH_COMPILER
>   exec /usr/local/libexec/ccache/cc "$@"
> 
> No exotic compiler flags in /etc/make.conf or /etc/src.conf
> 
> I'll check as soon as possible if I'm able to reproduce the error. I'll 
> happily provide any other debugging info necessary.
> 
> Please Cc: me, I'm not on the list.
> 
> Thanks,
> Erik
> 
> 
> [1]
> http://littlebit.dk/~erik/buildworld-2007.10.26.17.06.07.log
> http://littlebit.dk/~erik/buildworld-noccache-2007.10.26.17.06.07.log

Replying to myself:

I found another person having the same problem[1]. It seems ccache has 
somehow cached the compile of lib/csu/i386-elf/crt1.c even though the 
compilation failed. I cleared the ccache cache, and things seem to be 
rolling along now.

Thanks,
Erik

[1] 
http://unix.derkeiler.com/Mailing-Lists/FreeBSD/current/2005-08/0250.html


More information about the ccache mailing list