New submission from Armin Rigo: It is possible to get the working copy of Python 2.7 in a state such that any attempt to do "make" ends with the error shown in the title. The working copy is perfectly valid; it is a matter of getting the wrong timestamps on the files.
(Despite the error message, this is not directly related to issue10013 or "make -j".) I didn't try Python 3.x, but the same issue might apply. How to reproduce: - get your checkout, let's say in python/src/ - go to your build directory, say python/build/, and run "../src/configure; make". - then, in the src dir, give Include/graminit.h a more recent timestamp than Python/graminit.c, for example by saying "touch Include/graminit.h" (this is the crux: a common mercurial checkout will order them the other way, just because of alphabetical ordering). - remove your python/build/ directory completely, create it anew, and run again "../src/configure; make". The cause of the message is that the Makefile rule for $(GRAMMAR_C) runs, because the GRAMMAR_H file is more recent; but the GRAMMAR_H rule does nothing, because the latter is already up-to-date. So the only thing that runs is "touch $(GRAMMAR_C)". But this creates an empty file build/Python/graminit.c! ---------- components: Interpreter Core messages: 197797 nosy: arigo priority: normal severity: normal status: open title: undefined symbol: _PyParser_Grammar type: compile error versions: Python 2.7 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue19027> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com