On 10 September 2010 04:06, Dominique Brazziel <dbrazz...@snet.net> wrote: > Package: distcc > Version: 3.1-3.1+b1 > Severity: normal > Tags: patch > > When 'ccache' is installed and zeroconf enabled, the following error > messages appear > in the log and the zeroconf service is not available: > > (read_string_from_popen) CRITICAL! Failed to read string from C > compiler. > (register_stuff) Warning: Failed to determine CC version, not > registering DNS-SD service subtype! > > The reason for the failure is that 'ccache' installation recommends a > symbolic link from > 'cc' to 'ccache', and distcc (gcc-id.c) tries to determine the gcc version > using the > command 'cc -dumpversion'. When ccache starts it tries to create it's cache > directory > at 'HOME/.ccache' if it doesn't already exist. But the distcc HOME directory > is > '/' and since distcc is running under $USER 'distccd' the directory creation > fails > (Permission denied). Attached is a short C program modeled after the code > from > 'gcc-id.c' that demonstrates the failure if invoked with 'env HOME=/ ./popen' > but > succeeds when invoked from command line under a normal user. > > Also attached is a patch to issue '/usr/bin/cc -dumpversion' and '/usr/bin/cc > -dumpmachine' > so the real (g)cc will be called to spit out the version and machine type.
Thanks for reporting this problem. I really think hardcoding ccache to run /usr/bin/cc is a bad idea and Debian should not take this patch. Instead, either run with a useful $HOME, or change ccache to tolerate being unable to create its cache directory. -- Martin -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org