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

Reply via email to