x86/amd64 folks can see the problen for themselves like so (the ABI_X86 just makes for less thumb-twiddling before getting a result. The final head -n, grep -v, killall -HUP business is just a kludgey alternative to manual "ctrl-c"... also you must have tcl installed first): # MAKEOPTS=-j10 ABI_X86="" ECLASS_DEBUG_OUTPUT=on USE="test tcl" FEATURES=test \ ebuild $(portageq envvar PORTDIR 2>/dev/null)/sys-libs/db/db-6.1.*.ebuild \ clean test \ |& grep -C2 --color=no -e \ '\(makeopts_jobs\|^debug: inherit:\|PARALLEL_TESTDIR\)' \ | head -n 2000 \ | grep -v -e 'PARALLEL_TESTDIR.[[:digit:]][[:digit:]]'; \ killall -HUP tclsh [ ok ] debug: eclass exists: /usr/portage/eclass/eutils.eclass debug: inherit: eutils -> /usr/portage/eclass/eutils.eclass debug: *** Multiple Inheritence (Level: 2) debug: eclass exists: /usr/portage/eclass/multilib.eclass debug: inherit: multilib -> /usr/portage/eclass/multilib.eclass debug: *** Multiple Inheritence (Level: 3) debug: eclass exists: /usr/portage/eclass/toolchain-funcs.eclass debug: inherit: toolchain-funcs -> /usr/portage/eclass/toolchain-funcs.eclass debug: *** Multiple Inheritence (Level: 4) debug: eclass exists: /usr/portage/eclass/multilib.eclass debug: inherit: multilib -> /usr/portage/eclass/multilib.eclass debug: eclass exists: /usr/portage/eclass/toolchain-funcs.eclass debug: inherit: toolchain-funcs -> /usr/portage/eclass/toolchain-funcs.eclass debug: eclass exists: /usr/portage/eclass/db.eclass debug: inherit: db -> /usr/portage/eclass/db.eclass debug: *** Multiple Inheritence (Level: 2) debug: eclass exists: /usr/portage/eclass/eutils.eclass debug: inherit: eutils -> /usr/portage/eclass/eutils.eclass debug: eclass exists: /usr/portage/eclass/multilib.eclass debug: inherit: multilib -> /usr/portage/eclass/multilib.eclass debug: EXPORT_FUNCTIONS: src_test -> db_src_test debug: eclass exists: /usr/portage/eclass/flag-o-matic.eclass debug: inherit: flag-o-matic -> /usr/portage/eclass/flag-o-matic.eclass debug: *** Multiple Inheritence (Level: 2) debug: eclass exists: /usr/portage/eclass/eutils.eclass debug: inherit: eutils -> /usr/portage/eclass/eutils.eclass debug: eclass exists: /usr/portage/eclass/toolchain-funcs.eclass debug: inherit: toolchain-funcs -> /usr/portage/eclass/toolchain-funcs.eclass debug: eclass exists: /usr/portage/eclass/multilib.eclass debug: inherit: multilib -> /usr/portage/eclass/multilib.eclass debug: eclass exists: /usr/portage/eclass/java-pkg-opt-2.eclass debug: inherit: java-pkg-opt-2 -> /usr/portage/eclass/java-pkg-opt-2.eclass debug: *** Multiple Inheritence (Level: 2) debug: eclass exists: /usr/portage/eclass/java-utils-2.eclass debug: inherit: java-utils-2 -> /usr/portage/eclass/java-utils-2.eclass debug: *** Multiple Inheritence (Level: 3) debug: eclass exists: /usr/portage/eclass/eutils.eclass debug: inherit: eutils -> /usr/portage/eclass/eutils.eclass debug: eclass exists: /usr/portage/eclass/versionator.eclass debug: inherit: versionator -> /usr/portage/eclass/versionator.eclass debug: *** Multiple Inheritence (Level: 4) debug: eclass exists: /usr/portage/eclass/eutils.eclass debug: inherit: eutils -> /usr/portage/eclass/eutils.eclass debug: eclass exists: /usr/portage/eclass/multilib.eclass debug: inherit: multilib -> /usr/portage/eclass/multilib.eclass debug: EXPORT_FUNCTIONS: pkg_setup -> java-pkg-opt-2_pkg_setup debug: EXPORT_FUNCTIONS: src_prepare -> java-pkg-opt-2_src_prepare debug: EXPORT_FUNCTIONS: pkg_preinst -> java-pkg-opt-2_pkg_preinst debug: eclass exists: /usr/portage/eclass/autotools.eclass debug: inherit: autotools -> /usr/portage/eclass/autotools.eclass debug: *** Multiple Inheritence (Level: 2) debug: eclass exists: /usr/portage/eclass/libtool.eclass debug: inherit: libtool -> /usr/portage/eclass/libtool.eclass debug: *** Multiple Inheritence (Level: 3) debug: eclass exists: /usr/portage/eclass/multilib.eclass debug: inherit: multilib -> /usr/portage/eclass/multilib.eclass debug: eclass exists: /usr/portage/eclass/toolchain-funcs.eclass debug: inherit: toolchain-funcs -> /usr/portage/eclass/toolchain-funcs.eclass debug: eclass exists: /usr/portage/eclass/multilib.eclass debug: inherit: multilib -> /usr/portage/eclass/multilib.eclass debug: eclass exists: /usr/portage/eclass/multilib-minimal.eclass debug: inherit: multilib-minimal -> /usr/portage/eclass/multilib-minimal.eclass debug: *** Multiple Inheritence (Level: 2) debug: eclass exists: /usr/portage/eclass/eutils.eclass debug: inherit: eutils -> /usr/portage/eclass/eutils.eclass debug: eclass exists: /usr/portage/eclass/multilib-build.eclass debug: inherit: multilib-build -> /usr/portage/eclass/multilib-build.eclass debug: *** Multiple Inheritence (Level: 3) debug: eclass exists: /usr/portage/eclass/multibuild.eclass debug: inherit: multibuild -> /usr/portage/eclass/multibuild.eclass debug: eclass exists: /usr/portage/eclass/multilib.eclass debug: inherit: multilib -> /usr/portage/eclass/multilib.eclass debug: EXPORT_FUNCTIONS: src_configure -> multilib-minimal_src_configure debug: EXPORT_FUNCTIONS: src_compile -> multilib-minimal_src_compile -- debug: EXPORT_FUNCTIONS: src_install -> multilib-minimal_src_install debug: eclass exists: /usr/portage/eclass/versionator.eclass debug: inherit: versionator -> /usr/portage/eclass/versionator.eclass debug: eclass exists: /usr/portage/eclass/toolchain-funcs.eclass debug: inherit: toolchain-funcs -> /usr/portage/eclass/toolchain-funcs.eclass debug: eclass exists: /usr/portage/eclass/eutils.eclass debug: inherit: eutils -> /usr/portage/eclass/eutils.eclass debug: *** Multiple Inheritence (Level: 2) debug: eclass exists: /usr/portage/eclass/multilib.eclass debug: inherit: multilib -> /usr/portage/eclass/multilib.eclass debug: *** Multiple Inheritence (Level: 3) debug: eclass exists: /usr/portage/eclass/toolchain-funcs.eclass debug: inherit: toolchain-funcs -> /usr/portage/eclass/toolchain-funcs.eclass debug: *** Multiple Inheritence (Level: 4) debug: eclass exists: /usr/portage/eclass/multilib.eclass debug: inherit: multilib -> /usr/portage/eclass/multilib.eclass debug: eclass exists: /usr/portage/eclass/toolchain-funcs.eclass debug: inherit: toolchain-funcs -> /usr/portage/eclass/toolchain-funcs.eclass debug: eclass exists: /usr/portage/eclass/db.eclass debug: inherit: db -> /usr/portage/eclass/db.eclass debug: *** Multiple Inheritence (Level: 2) debug: eclass exists: /usr/portage/eclass/eutils.eclass debug: inherit: eutils -> /usr/portage/eclass/eutils.eclass debug: eclass exists: /usr/portage/eclass/multilib.eclass debug: inherit: multilib -> /usr/portage/eclass/multilib.eclass debug: EXPORT_FUNCTIONS: src_test -> db_src_test debug: eclass exists: /usr/portage/eclass/flag-o-matic.eclass debug: inherit: flag-o-matic -> /usr/portage/eclass/flag-o-matic.eclass debug: *** Multiple Inheritence (Level: 2) debug: eclass exists: /usr/portage/eclass/eutils.eclass debug: inherit: eutils -> /usr/portage/eclass/eutils.eclass debug: eclass exists: /usr/portage/eclass/toolchain-funcs.eclass debug: inherit: toolchain-funcs -> /usr/portage/eclass/toolchain-funcs.eclass debug: eclass exists: /usr/portage/eclass/multilib.eclass debug: inherit: multilib -> /usr/portage/eclass/multilib.eclass debug: eclass exists: /usr/portage/eclass/java-pkg-opt-2.eclass debug: inherit: java-pkg-opt-2 -> /usr/portage/eclass/java-pkg-opt-2.eclass debug: *** Multiple Inheritence (Level: 2) debug: eclass exists: /usr/portage/eclass/java-utils-2.eclass debug: inherit: java-utils-2 -> /usr/portage/eclass/java-utils-2.eclass debug: *** Multiple Inheritence (Level: 3) debug: eclass exists: /usr/portage/eclass/eutils.eclass debug: inherit: eutils -> /usr/portage/eclass/eutils.eclass debug: eclass exists: /usr/portage/eclass/versionator.eclass debug: inherit: versionator -> /usr/portage/eclass/versionator.eclass debug: *** Multiple Inheritence (Level: 4) debug: eclass exists: /usr/portage/eclass/eutils.eclass debug: inherit: eutils -> /usr/portage/eclass/eutils.eclass debug: eclass exists: /usr/portage/eclass/multilib.eclass debug: inherit: multilib -> /usr/portage/eclass/multilib.eclass debug: EXPORT_FUNCTIONS: pkg_setup -> java-pkg-opt-2_pkg_setup debug: EXPORT_FUNCTIONS: src_prepare -> java-pkg-opt-2_src_prepare debug: EXPORT_FUNCTIONS: pkg_preinst -> java-pkg-opt-2_pkg_preinst debug: eclass exists: /usr/portage/eclass/autotools.eclass debug: inherit: autotools -> /usr/portage/eclass/autotools.eclass debug: *** Multiple Inheritence (Level: 2) debug: eclass exists: /usr/portage/eclass/libtool.eclass debug: inherit: libtool -> /usr/portage/eclass/libtool.eclass debug: *** Multiple Inheritence (Level: 3) debug: eclass exists: /usr/portage/eclass/multilib.eclass debug: inherit: multilib -> /usr/portage/eclass/multilib.eclass debug: eclass exists: /usr/portage/eclass/toolchain-funcs.eclass debug: inherit: toolchain-funcs -> /usr/portage/eclass/toolchain-funcs.eclass debug: eclass exists: /usr/portage/eclass/multilib.eclass debug: inherit: multilib -> /usr/portage/eclass/multilib.eclass debug: eclass exists: /usr/portage/eclass/multilib-minimal.eclass debug: inherit: multilib-minimal -> /usr/portage/eclass/multilib-minimal.eclass debug: *** Multiple Inheritence (Level: 2) debug: eclass exists: /usr/portage/eclass/eutils.eclass debug: inherit: eutils -> /usr/portage/eclass/eutils.eclass debug: eclass exists: /usr/portage/eclass/multilib-build.eclass debug: inherit: multilib-build -> /usr/portage/eclass/multilib-build.eclass debug: *** Multiple Inheritence (Level: 3) debug: eclass exists: /usr/portage/eclass/multibuild.eclass debug: inherit: multibuild -> /usr/portage/eclass/multibuild.eclass debug: eclass exists: /usr/portage/eclass/multilib.eclass debug: inherit: multilib -> /usr/portage/eclass/multilib.eclass debug: EXPORT_FUNCTIONS: src_configure -> multilib-minimal_src_configure debug: EXPORT_FUNCTIONS: src_compile -> multilib-minimal_src_compile -- debug: EXPORT_FUNCTIONS: src_install -> multilib-minimal_src_install debug: eclass exists: /usr/portage/eclass/versionator.eclass debug: inherit: versionator -> /usr/portage/eclass/versionator.eclass debug: eclass exists: /usr/portage/eclass/toolchain-funcs.eclass debug: inherit: toolchain-funcs -> /usr/portage/eclass/toolchain-funcs.eclass >>> Unpacking source... >>> Unpacking db-6.1.26.tar.gz to /var/tmp/portage/sys-libs/db-6.1.26/work -- * Running sys-libs/db testsuite * This can take 6+ hours on modern machines /var/tmp/portage/sys-libs/db-6.1.26/temp/environment: line 1129: makeopts_jobs: command not found Created ./PARALLEL_TESTDIR.0 Created ./PARALLEL_TESTDIR.1 Created ./PARALLEL_TESTDIR.2 Created ./PARALLEL_TESTDIR.3 Created ./PARALLEL_TESTDIR.4 Created ./PARALLEL_TESTDIR.5 Created ./PARALLEL_TESTDIR.6 Created ./PARALLEL_TESTDIR.7 Created ./PARALLEL_TESTDIR.8 Created ./PARALLEL_TESTDIR.9 (The relevant error is fifteen lines or so above this one.) Basically db.eclass consumes makeopts_jobs but forgets to make that function available to itself by inheriting multiprocessing.eclass. Adding it to the inherits clause in db.eclass is the only reasonable solution (no wonder it "takes six hours" :D). It probably used to work because once upon a time some multi*.eclass inherited it for us, back before parallel multilib phases got (tragically, imo) removed.
Also, I think without this fix it tries to create an infinite number of directories in ${WORKDIR}.... :)
thanks, fixed here: http://gitweb.gentoo.org/repo/gentoo.git/commit/?id=86a2906e8beba16e46dc849073e2f7d3b06e5144