simple; see above. Reproducible: Always Steps to Reproduce: 1.emerge distcc 2. 3. Actual Results: emerge went ok, but upon attempt to use, /var/tmp/.distcc had to be created manually... Expected Results: as part of the install, I think this directory should be created auto and perms/owner set appropriately.
When distcc is used with portage it should be using /var/tmp/portage/.distcc. This, of course, can be set in /etc/make.conf by setting the DISTCC_DIR variable. Per user setting is ~/.distcc and can be changed with the DISTCC_DIR envvar. There's no need to set up /var/tmp/portage/.distcc either since Portage does that on its own.
(In reply to comment #1) I beg to differ. I am reporting exactly what happened with a 2005.1 install... It did *NOT* behave as you describe. I have (and had) no DISTCC_DIR variable set in /etc/make.conf. I just emerged the package and tried to use it.
In case it makes any difference, I took the minimal path to use it with portage. This means that I added: CCACHE_PREFIX="distcc" and changed my MAKEOPTS from -j2 to -j6
All you need to do to use Distcc with Portage is to put 'distcc' in your FEATURES line and adjust your MAKEOPTS. Don't mess with CC or CXX envvars or anything else as it is not needed. If there is a problem allocating the distcc temporary directories it's a portage problem since portage is responsible for creating and setting the permissions.
(In reply to comment #4) I don't follow how this applies to the distccd on the other system(s), which is the problem I am reporting with distccd and emerge... It wants to use /var/tmp/.distcc which should be owned by distcc:daemon, and is NOT created during the emerge...
Rather then the heated back and forth, systems involved I'd like to see emerge --info output from.
On volunteer hosts /var/tmp/ is not used by the distcc daemon. If TMPDIR is unspecified (and it usually is by default) the daemon will default to /tmp/ to store temporary data. If you're changing this to /var/tmp/.distcc you're responsible for setting permissions. On the client, `emerge distcc` will not set up the directory used for state and lock files (known as DISTCC_DIR) or for preprocessed files (TMPDIR). If DISTCC_DIR is set in /etc/make.conf (the default is ${PORTAGE_TMPDIR}/.distcc, or /var/tmp/portage/.distcc) Portage should be creating ${DISTCC_DIR}/{state, lock} and setting the permissions so that the portage user can read and write to them. If TMPDIR is specified on the client the distcc client will use that directory to store its preprocessed files. If that envvar is blank then the client will default to /tmp. Again, if you're changing either of these envvars you should be setting the permissions accordingly (so that the portage user can read and write to them). There is nothing that I am aware of (under proper conditions) that should be touching /var/tmp/.distcc. To use ccache and distcc with Portage all you really need to do is: Set a -j value in MAKEOPTS in /etc/make.conf Add distcc and ccache to FEATURES in /etc/make.conf Modify /etc/distcc/hosts to include a list of hosts that are running distccd Changing CCACHE_PREFIX, for use with Portage, is not necessary. -- For diagnosing the problem at hand we'll need emerge info output from each machine that's in your distcc cluster.
No response from user...
Closing due to old age