[distcc] distcc doesn't read /etc/distcc/hosts when started by rpmbuild

Yassine ILMI yilmi85 at gmail.com
Mon Jun 15 02:01:14 MDT 2015


Hi Sam,

1 - From my understanding, distcc is looking for its configuration from
environment variables (for the current session) or for a config file
located in $DISTCC_DIR/hosts directory -
http://distcc.googlecode.com/svn/trunk/doc/web/man/distcc_1.html#TOC_15

2 - I'm not sure how distcc handle configuration from files depending on
distributions, you should also run "distcc-config" utility. More
information about distcc configuration keys here :
http://distcc.googlecode.com/svn/trunk/doc/web/man/distcc_1.html#TOC_22

3 - I prefer to configure distcc using environment variable directly in a
file and source it when needed. You should check if the session used to run
rpmbuild also have distcc environment variables set.

Cheers,
Yassine



2015-06-14 16:33 GMT+02:00 Sam Varshavchik <mrsam at courier-mta.com>:

> I have /etc/distcc/hosts configured with 4 local builds, and 6 distibuted
> builds.
>
> When I run 'make -j 10' myself, the build gets correctly distributed. But
> something strange happens when I try to use rpmbuild.
>
> I have rpmbuild properly configured to run 'make -j 10'. And I see that
> ten distcc instances get started, but only for localhost builds appear to
> be running, and the remaining processes wait until a localhost slot becomes
> available, before spawning off g++.
>
> I strace-d the entire rpmbuild.
>
> What I see is that distcc never reads /etc/distcc/hosts, and just proceeds
> to run a local build.
>
> When I run 'make -j 10' myself, this is what I see the distcc process
> doing:
>
> 17180 mkdir("/home/mrsam/.distcc", 0777 <unfinished …>
> 17180 <… mkdir resumed> )             = -1 EEXIST (File exists)
> 17180 access("/home/mrsam/.distcc/hosts", R_OK) = -1 ENOENT (No such file
> or directory)
> 17180 access("/etc/distcc/hosts", R_OK <unfinished …>
>
> … and so on.
>
> When I strace an entire rpmbuild, the distcc process, instead, does this:
>
> 10068 mkdir("/home/mrsam/.distcc", 0777 <unfinished …>
> 10068 <… mkdir resumed> )             = -1 EEXIST (File exists)
> 10068 mkdir("/home/mrsam/.distcc/lock", 0777 <unfinished …>
> 10068 <… mkdir resumed> )             = -1 EEXIST (File exists)
> 10068 open("/home/mrsam/.distcc/lock/cpu_localhost_0", O_WRONLY|O_CREAT,
> 0666 <unfinished …>
>
> … and so on. What are the reasons distcc decides to skip checking
> /etc/distcc/hosts? grepping the entire strace, distcc never tries to read
> /etc/distcc/hosts.
>
>
> __
> distcc mailing list            http://distcc.samba.org/
> To unsubscribe or change options:
> https://lists.samba.org/mailman/listinfo/distcc
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.samba.org/pipermail/distcc/attachments/20150615/5aefe651/attachment.html>


More information about the distcc mailing list