Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 467350 - =sys-libs/talloc-2.0.8 with distcc - Build failed: [Errno 2] No such file or directory: 'bin/default/lib/replace/getpass_2.d'
Summary: =sys-libs/talloc-2.0.8 with distcc - Build failed: [Errno 2] No such file or ...
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo's SAMBA Team
Depends on:
Reported: 2013-04-26 13:25 UTC by DrChandra the Gentoo Person
Modified: 2022-07-30 18:17 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---

emerge --info (emerge-info.txt,5.61 KB, text/plain)
2013-09-02 15:47 UTC, Quasimodo
build.log (build.log,34.65 KB, text/x-log)
2013-09-02 15:49 UTC, Quasimodo
talloc-2.1.0 build log (build.log,39.23 KB, text/x-log)
2014-02-26 08:43 UTC, Michał Górny

Note You need to log in before you can comment on or make changes to this bug.
Description DrChandra the Gentoo Person 2013-04-26 13:25:04 UTC
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
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:
 *, 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.
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2013-04-26 15:20:12 UTC
I can't reproduce that.

Please post your `emerge --info' output in a comment.
Comment 2 Quasimodo 2013-09-02 15:47:05 UTC
got the same problem here on 2 amd64 machines, both setup with distcc and large -j parameter
Comment 3 Quasimodo 2013-09-02 15:47:50 UTC
Created attachment 357680 [details]
emerge --info
Comment 4 Quasimodo 2013-09-02 15:49:40 UTC
Created attachment 357682 [details]
Comment 5 Joe Breuer 2013-09-06 06:50:44 UTC
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.
Comment 6 Joe Breuer 2013-09-06 07:05:11 UTC
The very same also affects sys-libs/talloc-2.0.8-r1.
Comment 7 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-02-26 08:43:03 UTC
Created attachment 371316 [details]
talloc-2.1.0 build log

Pretty similar with 2.1.0 and -j8.
Comment 8 Patrick Lauer gentoo-dev 2015-03-11 04:26:42 UTC
Can't reproduce it, but feel free to fix if you can
Comment 9 Tobias Leupold 2016-01-06 09:28:48 UTC
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.
Comment 10 Konstantin Münning 2016-04-01 14:14:34 UTC
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.
Comment 11 Tobias Leupold 2017-06-05 12:48:17 UTC
Still the same with sys-libs/talloc-2.1.9.
Comment 12 Ben 2018-10-30 17:23:14 UTC
Appears to be the same problem as 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.