[distcc] "failed to exec: No such file or directory" error

Dainius (GreatEmerald) pastas4 at gmail.com
Wed Sep 5 13:37:17 MDT 2012

On Wed, Sep 5, 2012 at 12:20 PM, Fergus Henderson <fergus at google.com> wrote:
> You're right that setting DISTCCD_PATH will overwrite PATH as far as distccd
> is concerned.
> But are you setting DISTCCD_PATH before starting distccd?
> How are you starting distccd -- manually, or via a system service?
> The error message from dcc_execvp comes after executing execvp() failed.
> execvp() is a system call which just executes the named executable,
> in this case "i686-pc-linux-gnu-gcc", from the PATH.
> So at the point where the error occurs, the PATH definitely does not contain
> an "i686-pc-linux-gnu-gcc" program that can be executed.
> And distccd will indeed set PATH from DISTCCD_PATH.
> Is this perhaps a permissions error? If the distccd program is running as
> user "distcc", and i686-pc-linux-gnu-gcc is a symbolic link to a file in a
> directory that the "distcc" user doesn't have permission to access, that
> might explain it.

Yes, I set it before running distccd. As for starting, I do it
manually, invoking distccd directly (as I don't see any configuration
files included in the distccd package for openSUSE, so that's the
easiest way to set up permissions). That said, I noticed that it also
noted that user "distcc" was not found. Looking at the system monitor,
it seems that it defaults to running as "nobody". But even if I set it
to use my user as a base, the error is the same. And I can definitely
invoke the compiler by entering the same name.

As for the permissions, well:
  $ ls -l /usr/local/bin/
  -r-xr-xr-x 1 root root 665272 2012-09-04 07:06 i686-pc-linux-gnu-gcc

More information about the distcc mailing list