I've got this in package.env: www-client/chromium heavycompiling And this in env/heavycompiling: PORTAGE_TMPDIR=/var/tmp The effect is that chromium is built in /var/tmp rather than /tmp. However, after rebooting the system and resuming the build (/tmp is tmpfs, /var/tmp is not) I am unable to finish the build because of: /var/tmp/portage/www-client/chromium-29.0.1547.32/temp/environment: line 4806: doexe: command not found In fact, looking at temp/environment file: declare -x PATH="/var/tmp/portage/www-client/chromium-29.0.1547.32/temp/python2.7/bin:/tmp/portage/._portage_reinstall_.TQDTxW/bin/ebuild-helpers/xattr:/tmp/portage/._portage_reinstall_.TQDTxW/bin/ebuild-helpers:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.8.1" It seems that portage created a copy of helpers in /tmp while the build was performed in /var/tmp. As an effect, helpers were removed with reboot, build persisted. I think the helper path should use the final PORTAGE_TMPDIR as well.
(In reply to Michał Górny from comment #0) > It seems that portage created a copy of helpers in /tmp while the build was > performed in /var/tmp. As an effect, helpers were removed with reboot, build > persisted. Yes, because portage creates a temporary backup copy when updating itself, in order to avoid potential runtime compatibility issues between the new and old version. > I think the helper path should use the final PORTAGE_TMPDIR as well. This will not solve the "doexe: command not found" thing that you had after reboot, because portage removes the temporary copy of itself using an atexit hook. You can avoid this kind of issue by updating portage by itself before you try to update/install any other packages.
Let's CANTFIX it then.