Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Python 2.6 requires pre-installed Python to build #47749

Closed
malemburg opened this issue Aug 4, 2008 · 5 comments
Closed

Python 2.6 requires pre-installed Python to build #47749

malemburg opened this issue Aug 4, 2008 · 5 comments
Assignees
Labels
build The build process and cross-build release-blocker

Comments

@malemburg
Copy link
Member

BPO 3499
Nosy @malemburg, @warsaw, @benjaminp

Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

Show more details

GitHub fields:

assignee = 'https://github.com/benjaminp'
closed_at = <Date 2008-08-16.03:25:29.960>
created_at = <Date 2008-08-04.16:36:16.625>
labels = ['build', 'release-blocker']
title = 'Python 2.6 requires pre-installed Python to build'
updated_at = <Date 2008-08-16.03:25:29.926>
user = 'https://github.com/malemburg'

bugs.python.org fields:

activity = <Date 2008-08-16.03:25:29.926>
actor = 'benjamin.peterson'
assignee = 'benjamin.peterson'
closed = True
closed_date = <Date 2008-08-16.03:25:29.960>
closer = 'benjamin.peterson'
components = ['Build']
creation = <Date 2008-08-04.16:36:16.625>
creator = 'lemburg'
dependencies = []
files = []
hgrepos = []
issue_num = 3499
keywords = []
message_count = 5.0
messages = ['70706', '70707', '70740', '70999', '71194']
nosy_count = 4.0
nosy_names = ['lemburg', 'barry', 'benjamin.peterson', 'jedsmith']
pr_nums = []
priority = 'release blocker'
resolution = 'fixed'
stage = None
status = 'closed'
superseder = None
type = None
url = 'https://bugs.python.org/issue3499'
versions = ['Python 2.6', 'Python 3.0']

@malemburg
Copy link
Member Author

Here's the "make -d" output:

     Prerequisite `[Parser/Python.asdl](https://github.com/python/cpython/blob/main/Parser/Python.asdl)' is older than target

[Include/Python-ast.h](https://github.com/python/cpython/blob/main/Include/Python-ast.h)'. Prerequisite Parser/asdl.py' is older than target
[Include/Python-ast.h](https://github.com/python/cpython/blob/main/Include/Python-ast.h)'. Prerequisite Parser/asdl_c.py' is newer than target
[Include/Python-ast.h](https://github.com/python/cpython/blob/main/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.

@malemburg malemburg added the build The build process and cross-build label Aug 4, 2008
@malemburg
Copy link
Member Author

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

@benjaminp
Copy link
Contributor

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.

@benjaminp benjaminp self-assigned this Aug 5, 2008
@jedsmith
Copy link
Mannequin

jedsmith mannequin commented Aug 11, 2008

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.

@benjaminp
Copy link
Contributor

Ok. I've updated release.py to do the dirty work in 65708.

@ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build The build process and cross-build release-blocker
Projects
None yet
Development

No branches or pull requests

2 participants