[issue29365] parallel make test or make install can fail building pgen when configure --enable-optimizations is used

Gregory P. Smith report at bugs.python.org
Tue Jan 24 21:30:14 EST 2017


New submission from Gregory P. Smith:

If you do a make -j12 test or make install before having run a separate 'make all' the build _can_ fail trying to build pgen.  (it seems to be parallel make related, it won't always fail)

Even if you have run a separate 'make all', the make test and make install steps are likely to rebuild a ton of stuff and rerun the profile generation stage.  Making the suggested "make, make test, make install" process effectively useless or at least take 3x longer than it should.

something along the lines of:

oss/cpython$ make -j12 install
gcc -pthread -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes  Parser/acceler.o Parser/grammar1.o Parser/listnode.o Parser/node.o Parser/parser.o Parser/parsetok.o Parser/bitset.o Parser/metagrammar.o Parser/firstsets.o Parser/grammar.o Parser/pgen.o Objects/obmalloc.o Python/mysnprintf.o Python/pyctype.o Parser/tokenizer_pgen.o Parser/printgrammar.o Parser/pgenmain.o -lpthread -ldl  -lutil -o Parser/pgen
Parser/grammar1.o: In function `PyGrammar_LabelRepr':
/home/gps/oss/cpython/build27/../2.7/Parser/grammar1.c:35: undefined reference to `__gcov_indirect_call_profiler'
Parser/grammar1.o: In function `PyGrammar_FindDFA':
/home/gps/oss/cpython/build27/../2.7/Parser/grammar1.c:13: undefined reference to `__gcov_indirect_call_profiler'
Parser/grammar1.o:(.data+0x80): undefined reference to `__gcov_merge_add'
Parser/grammar1.o: In function `_GLOBAL__sub_I_65535_0_PyGrammar_FindDFA':
/home/gps/oss/cpython/build27/../2.7/Parser/grammar1.c:57: undefined reference to `__gcov_init'
... a bunch more similar errors omitted ...
Parser/pgenmain.o: In function `_GLOBAL__sub_I_65535_0_Py_Exit':
/home/gps/oss/cpython/build27/../2.7/Parser/pgenmain.c:173: undefined reference to `__gcov_init'
collect2: error: ld returned 1 exit status
make: *** [Parser/pgen] Error 1
make: *** Waiting for unfinished jobs....
Parser/pgen ../2.7/Grammar/Grammar Include/graminit.h Python/graminit.c
make[2]: Parser/pgen: Command not found
make[2]: *** [Include/graminit.h] Error 127
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory `/home/gps/oss/cpython/build27'
make[1]: *** [build_all_generate_profile] Error 2
make[1]: Leaving directory `/home/gps/oss/cpython/build27'
make: *** [profile-opt] Error 2

----------
components: Build
messages: 286223
nosy: gregory.p.smith
priority: normal
severity: normal
status: open
title: parallel make test or make install can fail building pgen when configure --enable-optimizations is used
type: compile error
versions: Python 2.7, Python 3.6, Python 3.7

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue29365>
_______________________________________


More information about the Python-bugs-list mailing list