On 2011-06-14 13:06, Adam Borowski wrote: > For an actual break, you'd need a more complex setup with extra layers like > colorgcc or distcc, and in that case it might be argued to be an user > configuration error (except that there's no proper configuration in such > cases other than creating the symlink yourself).
Please explain further what the actual problem is. In what situation does it break? In what way does it break? > But even when ccache is used by itself, it will "merely" not work. Sorry, I don't understand. Why not? >> Or is the problem that ccache doesn't correctly create symlinks in >> /usr/lib/ccache anymore so that some compilers will not be invoked via >> ccache (if the user has /usr/lib/ccache the path)? > > Yeah. OK. But I'm still not sure if this is the only problem you see (I wouldn't call that "break compilation", which perhaps is why I'm confused) or if it actually breaks compilation (as in "gives a bad result when invoked"). > If you want to ever use distcc when the server might be on a > different architecture, you need to invoke $(gcc -dumpmachine)-gcc. > The current version of ccache will handle plain "gcc" but not one with > explicitely specified architecture. I don't see why. Please explain. >> What package should I install and >> what should I do to reproduce the problem? > > ccache and recent gcc. > Try to run "x86_64-linux-gnu-gcc" -> no ccache. I can't reproduce this using Debian unstable freshly updated today with gcc 4:4.6.0-5, gcc-4.6 4.6.0-11 and ccache 3.1.5-1. # x86_64-linux-gnu-gcc --version | head -1 x86_64-linux-gnu-gcc (Debian 4.6.0-11) 4.6.1 20110604 (prerelease) # ls -l /usr/lib/gcc total 8 drwxr-xr-x 3 root root 4096 Aug 4 2010 i586-mingw32msvc drwxr-xr-x 4 root root 4096 Jun 13 21:51 x86_64-linux-gnu # ls -l /usr/lib/gcc/x86_64-linux-gnu total 8 drwxr-xr-x 3 root root 4096 May 16 2010 4.1 lrwxrwxrwx 1 root root 3 May 16 2010 4.1.3 -> 4.1 drwxr-xr-x 4 root root 4096 Jun 5 21:12 4.6 lrwxrwxrwx 1 root root 3 Apr 22 05:27 4.6.1 -> 4.6 # ccache -s | grep miss cache miss 4577 # touch foo.c # x86_64-linux-gnu-gcc -c foo.c # ccache -s | grep miss cache miss 4578 So, no problem there. I see now that when I install gcc-4.4 and gcc-4.5, they don't create directories in /usr/lib/gcc/$(gcc -dumpmachine) anymore, so symlinks like /usr/lib/ccache/gcc-4.5 aren't created. But for me, gcc-4.6 works since it creates a /usr/lib/gcc/x86_64-linux-gnu/4.6 directory just like update-ccache-symlinks expects. -- Joel -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

