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: Make fails Objects/typeslots.inc
Type: compile error Stage:
Components: Build, Interpreter Core Versions: Python 3.4, Python 3.5
process
Status: closed Resolution: duplicate
Dependencies: Superseder:
Assigned To: Nosy List: martin.panter, masamoto
Priority: normal Keywords: patch

Created on 2015-04-23 04:47 by masamoto, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
3.4-issue24034-make-fails-typeslots.inc.patch masamoto, 2015-04-23 04:50 review
Messages (3)
msg241843 - (view) Author: Masayuki Yamamoto (masamoto) * Date: 2015-04-23 04:47
Objects/typeslots.inc is broken, and make stop on cygwin-1.7.35-i686.

If built-in python is not found in make processing, Objects/typeslots.inc generating will fail.
Because Objects/typeslots.inc is generated using $(PYTHON) in Makefile, but  $(PYTHON) variable is a hard-coding value that isn't check a built-in python existent.

make steps to fail and error message:
$ ./configure --prefix=/opt/py34
$ touch Include/typeslots.h
$ make
...
python.exe ./Objects/typeslots.py < ./Include/typeslots.h > Objects/typeslots.inc
/bin/sh: python.exe: command not found
Makefile:851: recipe for target 'Objects/typeslots.inc' failed
make: *** [Objects/typeslots.inc] Error 127

Cygwin python executable files:
$ find /usr/bin/ -name 'python*.exe'
/usr/bin/python2.7.exe
/usr/bin/python3.2m.exe
msg241844 - (view) Author: Masayuki Yamamoto (masamoto) * Date: 2015-04-23 04:50
I wrote the patch to replace $(PYTHON).

Changes:
Add TYPESLOTSGEN to configure.ac.  TYPESLOTSGEN values is the built-in python.
If the built-in python is not found, TYPESLOTSGEN echoes message that is skipping like ASDLGEN.
Generated the configure script using autoreconf.
Modify Makefile.pre.in to replace $(PYTHON) to $(TYPESLOTSGEN).
And remove $(PYTHON) that isn't used anywhere.  It seems already needless.

Although I understand that the generated file touch can avoid to fail regenerate, I want to check built-in python to generate safer the Objects/typeslots.inc.
msg270969 - (view) Author: Martin Panter (martin.panter) * (Python committer) Date: 2016-07-22 03:41
Sorry nobody acted on your patch earlier. This is the same as Issue 26662, which has a more general patch that does the same sort of thing.
History
Date User Action Args
2022-04-11 14:58:16adminsetgithub: 68222
2016-07-22 03:41:40martin.pantersetstatus: open -> closed

nosy: + martin.panter
messages: + msg270969

resolution: duplicate
2015-04-23 04:50:39masamotosetfiles: + 3.4-issue24034-make-fails-typeslots.inc.patch
keywords: + patch
messages: + msg241844
2015-04-23 04:47:10masamotocreate