It would appear that the clean_stages function manages to successfully remove distcc before the clean_distcc and subsequent functions are called in stage3_preclean_chroot.sh, so the final 'emerge -C distcc' fails because the package is no longer installed. This patch tests for the existence of distcc before attempting an Unmerge. This may not be the cleanest/best method of doing this, and doesn't account presently for the failure of portageq or grep, but otherwise it has been tested on my imx6 armv7a using distcc to my x86_64 crossdev box(es). Ack to Zac for the suggestion. Regards, Michael.