[New-bugs-announce] [issue21480] A build now requires...

Skip Montanaro report at bugs.python.org
Mon May 12 17:56:38 CEST 2014


New submission from Skip Montanaro:

It's been awhile since I pulled from Mercurial and built, but I tried
today. I almost immediately ran into an error. The configure step
worked fine, but make, not so much:

% make
python  ./Tools/scripts/generate_opcode_h.py ./Lib/opcode.py ./Include/opcode.h
/opt/TWWfsw/bin/gmkdir -p Include
python ./Parser/asdl_c.py -h Include ./Parser/Python.asdl
Traceback (most recent call last):
  File "./Parser/asdl_c.py", line 1312, in <module>
    main(args[0], dump_module)
  File "./Parser/asdl_c.py", line 1251, in main
    if not asdl.check(mod):
  File "/home/skipm/3rdParty/python/cpython/Parser/asdl.py", line 183, in check
    v = Check()
  File "/home/skipm/3rdParty/python/cpython/Parser/asdl.py", line 140,
in __init__
    super().__init__()
TypeError: super() takes at least 1 argument (0 given)
make: *** [Include/Python-ast.h] Error 1

Trying to figure out what went wrong, I peeked in the Makefile and found:

ASDLGEN_FILES= $(srcdir)/Parser/asdl.py $(srcdir)/Parser/asdl_c.py
# XXX Note that a build now requires Python exist before the build starts
ASDLGEN= python $(srcdir)/Parser/asdl_c.py

This is bothersome on a couple levels. One, it assumes that "python"
means "Python 3" (which it doesn't mean here in the office). Two, it
doesnt' offer any suggestions about how to work around this "missing
bootstrap". After a couple minutes fussing around, I finally got
around the problem with a few judicious "touch" commands. It would be
nice if

* The above XXX comment was expanded to describe the necessary workaround

* Even better, some sort of "asdl-bootstrap" target (referenced in the
above comment) was added to the Makefile which sprinkled the necessary
pixie dust to artificially satisfy the AST_H and AST_C targets.

The bootstrap target shouldn't ever be executed automatically, but be
available to execute manually.

I think this would be sufficient:

# For people building for the first time without an existing Python 3
asdl-bootstrap:
	touch $(AST_H) $(AST_C)

----------
messages: 218324
nosy: skip.montanaro
priority: normal
severity: normal
status: open
title: A build now requires...

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


More information about the New-bugs-announce mailing list