Compiling with: "/var/tmp/portage/sys-libs/talloc-2.0.8/work/talloc-2.0.8/buildtools/bin/waf" build --verbose --jobs=10 will lead to: Waf: Leaving directory `/var/tmp/portage/sys-libs/talloc-2.0.8/work/talloc-2.0.8/bin' Build failed: [Errno 2] No such file or directory: '/var/tmp/portage/sys-libs/talloc-2.0.8/work/talloc-2.0.8/bin/default/lib/replace/getpass_2.d' Restarting the compile will allow it to complete. Also, setting 'MAKEOPTS="-j1"' in make.conf will allow an "emerge -1 talloc" to complete. Reproducible: Always Steps to Reproduce: 1. emerge -1 talloc 2. fails 3. Actual Results: 'configure' finished successfully (1m15.516s) >>> Source configured. >>> Compiling source in /var/tmp/portage/sys-libs/talloc-2.0.8/work/talloc-2.0.8 ... "/var/tmp/portage/sys-libs/talloc-2.0.8/work/talloc-2.0.8/buildtools/bin/waf" build --verbose --jobs=10 Waf: Entering directory `/var/tmp/portage/sys-libs/talloc-2.0.8/work/talloc-2.0.8/bin' Checking project rules ... Project rules pass [ 1/15] Generating talloc.vscript [ 2/15] Compiling lib/replace/replace.c 06:40:26 runner i686-pc-linux-gnu-gcc -march=pentium4 -O2 -pipe -fomit-frame-pointer -fPIC -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DSTATIC_replace_MODULES=NULL -DSTATIC_replace_MODULES_PROTO -MD -Idefault/lib/replace -I../lib/replace -Idefault -I.. -I/usr/local/include -D_GNU_SOURCE=1 -D_XOPEN_SOURCE_EXTENDED=1 ../lib/replace/replace.c -c -o default/lib/replace/replace_2.o [ 3/15] Compiling lib/replace/getpass.c 06:40:26 runner i686-pc-linux-gnu-gcc -march=pentium4 -O2 -pipe -fomit-frame-pointer -fPIC -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DSTATIC_replace_MODULES=NULL -DSTATIC_replace_MODULES_PROTO -MD -Idefault/lib/replace -I../lib/replace -Idefault -I.. -I/usr/local/include -D_GNU_SOURCE=1 -D_XOPEN_SOURCE_EXTENDED=1 ../lib/replace/getpass.c -c -o default/lib/replace/getpass_2.o Waf: Leaving directory `/var/tmp/portage/sys-libs/talloc-2.0.8/work/talloc-2.0.8/bin' Build failed: [Errno 2] No such file or directory: '/var/tmp/portage/sys-libs/talloc-2.0.8/work/talloc-2.0.8/bin/default/lib/replace/getpass_2.d' * ERROR: sys-libs/talloc-2.0.8 failed (compile phase): * build failed * * Call stack: * ebuild.sh, line 93: Called src_compile * environment, line 4834: Called waf-utils_src_compile * environment, line 5351: Called die * The specific snippet of code: * "${WAF_BINARY}" ${_mywafconfig} ${jobs} || die "build failed" * * If you need support, post the output of `emerge --info '=sys-libs/talloc-2.0.8'`, * the complete build log and the output of `emerge -pqv '=sys-libs/talloc-2.0.8'`. * The complete build log is located at '/var/tmp/portage/sys-libs/talloc-2.0.8/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/sys-libs/talloc-2.0.8/temp/environment'. * Working directory: '/var/tmp/portage/sys-libs/talloc-2.0.8/work/talloc-2.0.8' * S: '/var/tmp/portage/sys-libs/talloc-2.0.8/work/talloc-2.0.8' >>> Failed to emerge sys-libs/talloc-2.0.8, Log file: >>> '/var/tmp/portage/sys-libs/talloc-2.0.8/temp/build.log' * * The following package has failed to build or install: * * (sys-libs/talloc-2.0.8::gentoo, ebuild scheduled for merge), Log file: * '/var/tmp/portage/sys-libs/talloc-2.0.8/temp/build.log' * Expected Results: Successful emerge. This implies that the Makefile for talloc-2.0.8 has an incomplete dependency tree.
I can't reproduce that. Please post your `emerge --info' output in a comment.
got the same problem here on 2 amd64 machines, both setup with distcc and large -j parameter
Created attachment 357680 [details] emerge --info
Created attachment 357682 [details] build.log
It looks very much like a parallel build issue. I have the same problem here (distcc, large --jobs); and: a) the problem consistently occurs for me b) it's consistently fixed by MAKEOPTS="-j1" Until a better solution can be found, please consider disabling parallel build for sys-libs/talloc. (-2.0.8 here, but I've seen this with earlier versions as well). sys-libs/tevent-0.9.19 has exactly the same issue, I've filed a separate report as bug 483948. My full emerge --info is over there.
The very same also affects sys-libs/talloc-2.0.8-r1.
Created attachment 371316 [details] talloc-2.1.0 build log Pretty similar with 2.1.0 and -j8.
Can't reproduce it, but feel free to fix if you can
Still the same here with sys-libs/talloc-2.1.5. It fails with MAKEOPTS="-j7" set and builds with -j1 on my amd64 machine.
Its basically the same here with sys-libs/talloc-2.1.6 on x86. It fails with MAKEOPTS="-j4" set and builds with -j1. The file not found error is about bin/default/lib/replace/cwrap_2.d but that seems to be the same problem.
Still the same with sys-libs/talloc-2.1.9.
Appears to be the same problem as https://bugs.gentoo.org/581900 net-fs/samba, both use waf internally as their build service instead of the typical make or ninja, and apparently waf appears to have problems dealing with dependencies when using distcc though I haven't taken a really close look at it due to unfamiliarity with waf. Workaround is to not use distcc, though running multiple jobs with -j is fine, as all jobs are on the same SMP machine. I have no way to test with a huge NUMA machine or some arbitrary command batch cluster.