1 |
Hello, |
2 |
|
3 |
I just started an attempt at installing a Gentoo prefix with bootstrap-prefix.sh, |
4 |
and hit a problem that looks like inadmissible make parallelisation: |
5 |
It recognised the 8 cores, and I accepted the proposed 5 for -j; |
6 |
the following four log fragments (separated by ``[...]'') |
7 |
look like three parallel make subprocesses are trying to use and remove |
8 |
the same stamp file at almost the same time, triggering a race condition: |
9 |
|
10 |
========================================================================== |
11 |
config.status: creating po/Makefile |
12 |
config.status: executing tests/atconfig commands |
13 |
>>> Source configured. |
14 |
>>> Compiling source in /nfs/u30/kahl/GentooPrefix2014/var/tmp/portage/sys-devel/bison-3.0.2/work/bison-3.0.2 ... |
15 |
make -j5 |
16 |
rm -f examples/extracted.stamp examples/extracted.stamp.tmp |
17 |
rm -f lib/alloca.h-t lib/alloca.h && \ |
18 |
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ |
19 |
cat ./lib/alloca.in.h; \ |
20 |
} > lib/alloca.h-t && \ |
21 |
mv -f lib/alloca.h-t lib/alloca.h |
22 |
rm -f lib/configmake.h-t && \ |
23 |
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ |
24 |
echo '#define PREFIX "/nfs/u30/kahl/GentooPrefix2014/usr"'; \ |
25 |
[...] |
26 |
mv lib/spawn.h-t lib/spawn.h |
27 |
make[1]: Entering directory `/nfs/u30/kahl/GentooPrefix2014/var/tmp/portage/sys-devel/bison-3.0.2/work/bison-3.0.2' |
28 |
rm -f examples/extracted.stamp examples/extracted.stamp.tmp |
29 |
make[1]: Entering directory `/nfs/u30/kahl/GentooPrefix2014/var/tmp/portage/sys-devel/bison-3.0.2/work/bison-3.0.2' |
30 |
rm -f examples/extracted.stamp examples/extracted.stamp.tmp |
31 |
make[1]: Entering directory `/nfs/u30/kahl/GentooPrefix2014/var/tmp/portage/sys-devel/bison-3.0.2/work/bison-3.0.2' |
32 |
rm -f examples/extracted.stamp examples/extracted.stamp.tmp |
33 |
touch examples/extracted.stamp.tmp |
34 |
touch examples/extracted.stamp.tmp |
35 |
touch examples/extracted.stamp.tmp |
36 |
VERSION="3.0.2" /bin/true ./examples/extexi ./doc/bison.texi -- examples/calc++/calc++-driver.cc examples/calc++/calc++-driver.hh examples/calc++/calc++-scanner.ll examples |
37 |
/calc++/calc++.cc examples/calc++/calc++-parser.yy examples/mfcalc/calc.h examples/mfcalc/mfcalc.y examples/rpcalc/rpcalc.y |
38 |
VERSION="3.0.2" /bin/true ./examples/extexi ./doc/bison.texi -- examples/calc++/calc++-driver.cc examples/calc++/calc++-driver.hh examples/calc++/calc++-scanner.ll examples |
39 |
/calc++/calc++.cc examples/calc++/calc++-parser.yy examples/mfcalc/calc.h examples/mfcalc/mfcalc.y examples/rpcalc/rpcalc.y |
40 |
VERSION="3.0.2" /bin/true ./examples/extexi ./doc/bison.texi -- examples/calc++/calc++-driver.cc examples/calc++/calc++-driver.hh examples/calc++/calc++-scanner.ll examples |
41 |
/calc++/calc++.cc examples/calc++/calc++-parser.yy examples/mfcalc/calc.h examples/mfcalc/mfcalc.y examples/rpcalc/rpcalc.y |
42 |
mv examples/extracted.stamp.tmp examples/extracted.stamp |
43 |
mv examples/extracted.stamp.tmp examples/extracted.stamp |
44 |
mv examples/extracted.stamp.tmp examples/extracted.stamp |
45 |
make[1]: Leaving directory `/nfs/u30/kahl/GentooPrefix2014/var/tmp/portage/sys-devel/bison-3.0.2/work/bison-3.0.2' |
46 |
mv: cannot stat `examples/extracted.stamp.tmp': No such file or directory |
47 |
make[1]: *** [examples/extracted.stamp] Error 1 |
48 |
make[1]: Leaving directory `/nfs/u30/kahl/GentooPrefix2014/var/tmp/portage/sys-devel/bison-3.0.2/work/bison-3.0.2' |
49 |
rm -f lib/stdio.h-t lib/stdio.h && \ |
50 |
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \ |
51 |
sed -e 's|@''GUARD_PREFIX''@|GL|g' \ |
52 |
-e 's|@''INCLUDE_NEXT''@|include_next|g' \ |
53 |
[...] |
54 |
-e '/definition of _GL_ARG_NONNULL/r lib/arg-nonnull.h' \ |
55 |
-e '/definition of _GL_WARN_ON_USE/r lib/warn-on-use.h'; \ |
56 |
} > lib/stdio.h-t && \ |
57 |
mv lib/stdio.h-t lib/stdio.h |
58 |
mv: cannot stat `examples/extracted.stamp.tmp': No such file or directory |
59 |
make[1]: *** [examples/extracted.stamp] Error 1 |
60 |
make[1]: Leaving directory `/nfs/u30/kahl/GentooPrefix2014/var/tmp/portage/sys-devel/bison-3.0.2/work/bison-3.0.2' |
61 |
make: *** [examples/mfcalc/mfcalc.y] Error 2 |
62 |
make: *** Waiting for unfinished jobs.... |
63 |
make: *** [examples/rpcalc/rpcalc.y] Error 2 |
64 |
* ERROR: sys-devel/bison-3.0.2::gentoo_prefix failed (compile phase): |
65 |
* emake failed |
66 |
* |
67 |
* If you need support, post the output of `emerge --info '=sys-devel/bison-3.0.2::gentoo_prefix'`, |
68 |
* the complete build log and the output of `emerge -pqv '=sys-devel/bison-3.0.2::gentoo_prefix'`. |
69 |
* The complete build log is located at '/nfs/u30/kahl/GentooPrefix2014/var/tmp/portage/sys-devel/bison-3.0.2/temp/build.log'. |
70 |
* The ebuild environment file is located at '/nfs/u30/kahl/GentooPrefix2014/var/tmp/portage/sys-devel/bison-3.0.2/temp/environment'. |
71 |
* Working directory: '/nfs/u30/kahl/GentooPrefix2014/var/tmp/portage/sys-devel/bison-3.0.2/work/bison-3.0.2' |
72 |
* S: '/nfs/u30/kahl/GentooPrefix2014/var/tmp/portage/sys-devel/bison-3.0.2/work/bison-3.0.2' |
73 |
|
74 |
>>> Failed to emerge sys-devel/bison-3.0.2, Log file: |
75 |
[...] |
76 |
Hmmmm, I was already afraid of this to happen. Running |
77 |
/nfs/u30/kahl/GentooPrefix2014/bin/bash ./bootstrap-prefix.sh "/nfs/u30/kahl/GentooPrefix2014" stage3 |
78 |
somewhere failed :( Details might be found in the build log: |
79 |
/nfs/u30/kahl/GentooPrefix2014/var/tmp/portage/sys-devel/bison-3.0.2/temp/build.log |
80 |
I have no clue, really. Please find friendly folks in #gentoo-prefix on |
81 |
irc.gentoo.org, gentoo-alt@l.g.o mailing list, or file a bug |
82 |
at bugs.gentoo.org under Gentoo/Alt, Prefix Support. This is most |
83 |
inconvenient, and it crushed my ego. Sorry, I give up. |
84 |
|
85 |
|
86 |
========================================================================== |
87 |
|
88 |
Is my impression right that ``make -j1'' would likely fix this? |
89 |
If yes, how can I get it into the ``General Bootstrap Process'' |
90 |
only for bison? |
91 |
And is there any way of restarting it from bison? |
92 |
|
93 |
(I know I am working over NFS --- a year ago |
94 |
(apparently before the ``General Bootstrap Process'' existed?) |
95 |
I tried a more manual installation with /var/tmp/kahl/gentoo |
96 |
symbolically linked as $PREFIX/var/tmp : |
97 |
This was quite a hassle, and on the machine where I am trying this now, |
98 |
they are apparently cleaning out old files from /var/tmp, |
99 |
so I would have to do some trickery to make this safe. |
100 |
In any case it would still be nice if the ``General Bootstrap Process'' |
101 |
supported such ``virtual mounts'' for /tmp and /var/tmp. |
102 |
) |
103 |
|
104 |
|
105 |
Thanks! |
106 |
|
107 |
Wolfram |