This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Python 2.6 requires pre-installed Python to build
Type: Stage:
Components: Build Versions: Python 3.0, Python 2.6
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: benjamin.peterson Nosy List: barry, benjamin.peterson, jedsmith, lemburg
Priority: release blocker Keywords:

Created on 2008-08-04 16:36 by lemburg, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Messages (5)
msg70706 - (view) Author: Marc-Andre Lemburg (lemburg) * (Python committer) Date: 2008-08-04 16:36
Here's the "make -d" output:

         Prerequisite `Parser/Python.asdl' is older than target
`Include/Python-ast.h'.
         Prerequisite `Parser/asdl.py' is older than target
`Include/Python-ast.h'.
         Prerequisite `Parser/asdl_c.py' is newer than target
`Include/Python-ast.h'.
        Must remake target `Include/Python-ast.h'.
./Parser/asdl_c.py -h ./Include ./Parser/Python.asdl
/usr/bin/env: No such file or directory

And these are the file times:

orig/Python-2.6b2> ls -l Include/Python-ast.h
-rw-r--r-- 1 lemburg users 20081 2008-03-30 08:40 Include/Python-ast.h
orig/Python-2.6b2> ls -l Parser/asdl*
-rw-r--r-- 1 lemburg users 11306 2006-03-01 23:49 Parser/asdl.py
-rwxr-xr-x 1 lemburg users 39771 2008-06-09 06:58 Parser/asdl_c.py

Because Python-ast.h is older than the script used for generating it
(asdl_c.py), it always tries to rebuild the .h file. Since this requires
Python to be installed, it fails on a machine that doesn't always have
an existing Python binary installed.

This happens in both 2.6b1 and 2.6b2.

I guess the release process should make sure that the Python-ast.h and
Python-ast.c are always newer than the scripts used to build them.
msg70707 - (view) Author: Marc-Andre Lemburg (lemburg) * (Python committer) Date: 2008-08-04 16:37
As work-around, you can untar the source tarball and then touch the
files in question:

touch Include/Python-ast.h
touch Python/Python-ast.c
msg70740 - (view) Author: Benjamin Peterson (benjamin.peterson) * (Python committer) Date: 2008-08-05 14:29
It should be simple to modify release.py to touch these files. Barry,
I'm on vacation now, but I should be able to do this before you spin the
releases.
msg70999 - (view) Author: Jed Smith (jedsmith) Date: 2008-08-11 01:58
This happened in my fresh unpack of the 3.0b2 tarball, as well.

Touching merely Include/Python-ast.h satisfied the dependency, and I did
not have to touch Python-ast.c.  Is the particular grammar-rebuild rule
needed for production tarballs anyway?  I can't think the majority of
people downloading the package want to start hacking the grammar right away.
msg71194 - (view) Author: Benjamin Peterson (benjamin.peterson) * (Python committer) Date: 2008-08-16 03:25
Ok. I've updated release.py to do the dirty work in 65708.
History
Date User Action Args
2022-04-11 14:56:37adminsetgithub: 47749
2008-08-16 03:25:29benjamin.petersonsetstatus: open -> closed
resolution: fixed
messages: + msg71194
2008-08-11 01:58:15jedsmithsetnosy: + jedsmith
messages: + msg70999
versions: + Python 3.0
2008-08-05 14:29:35benjamin.petersonsetpriority: critical -> release blocker
assignee: benjamin.peterson
messages: + msg70740
nosy: + barry, benjamin.peterson
2008-08-04 16:37:40lemburgsetmessages: + msg70707
2008-08-04 16:36:16lemburgcreate