I was trying to incorporate distcc directly after stage1 (bootstrap) and it failed semi-silently during installation: * Updating or creating distcc user... /usr/bin/distcc-config: line 63: useradd: command not found /usr/bin/distcc-config: line 64: die: command not found * Configuring /usr/lib/distcc/bin... chown: `distcc:daemon': invalid user * Configuring /var/run/distccd... chown: `distcc:daemon': invalid user ... and then it continued installing without further errors. The "die" thing on line 64 -- I didn't find a "die" command in my other gentoo installation either, so I suppose you should use something else instead, like "exit 1" maybe.. I recall you can use "die" in ebuilds, but I guess that's provided by portage.. This is however a regular bash script (/usr/bin/distcc-config as stated by the error message).. So, even if the sys-apps/shadow required another 20 packages to be emerged, I went ahead and did: 1. emerge shadow 2. emerge distcc 4. Modify /etc/make.conf to use distcc 4. emerge system After emerging sys-apps/shadow, the merging of distcc no longer showed any errors (the "die" command never executed now since there wasn't a problem running the "useradd" command anymore). Since distccd only needs to run on systems other than localhost, I didn't need to start up the "distccd" daemon in the chroot environment I am installing in. It seems to work fine (some 20+ ebuilds installed already), and distributes the commands just nicely.
Excellent bug report!!! Thank you for taking the time to document this. After reading your analysis, I feel there is no reason not to add sys-apps/shadow to the dependencies for distcc. Since this does not affect all users, I will not bump the ebuild revision.
Sure, no problem =) The "emerge shadow" step should thus be unnecessary now.. Maybe it even could be mentioned in the gentoo installation instructions on the webpage that distcc can be used starting from stage 2, before "emerge system", if the user should want to do that. I always re-read the install instructions on the web even if I have installed gentoo oh-so many times already, so I guess there could be other users interested in using distcc as well.. Maybe especially users that have a slow computer but still want gentoo and plan on using distcc to compile everything remotely (which I suppose is possible by leaving "localhost" out from DISTCC_HOSTS)... In this case certainly the possibility to use distcc as early as possible would be appreciated =)
Correct, the shadow package will now get pulled automatically. Bug 15969 will cure this dependency by integrating the distcc user with baselayout. Incidently, I just hit this same error in my bootstrap of the ARM platform, so I am even more appreciative of the timing of this report. :) As for adding distcc instructions before emerge system... There are still issues that need to be resolved with distcc before such documentation will benefit our users more than it could hurt them; however, I agree that we will probably want to add a small section in the future.
Okay, this is fixed in distcc-1.2.3-r3 or so...