classification
Title: distutils: fix build_ext check to find whether we're building Python or not
Type: compile error Stage: patch review
Components: Cross-Build, Distutils Versions: Python 3.4
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: doko, eric.araujo, haypo, rpetrov, thomas-petazzoni
Priority: normal Keywords: patch

Created on 2014-01-09 23:03 by thomas-petazzoni, last changed 2014-03-15 12:43 by rpetrov.

Files
File name Uploaded Description Edit
0002-distutils-fix-build_ext-check-to-find-whether-we-re-.patch thomas-petazzoni, 2014-01-09 23:03
Messages (4)
msg207806 - (view) Author: Thomas Petazzoni (thomas-petazzoni) Date: 2014-01-09 23:03
The build_ext logic uses sys.executable.startswith(os.path.join(sys.exec_prefix, "bin")) to determine whether we're building a third-party Python extension, or a built-in Python extension. However, this check is wrong in cross-compilation mode, because the host Python interpreter might very well be installed in its prefix, when it is used to cross-compile the target modules and extensions. The current check would mis-detect this as we're building third-party Python modules, while we are in fact building the internal Python modules of the target Python.

Therefore, use the existing sysconfig.python_build variable, which provides the information of whether we're building Python itself or not in a correct way.
msg213614 - (view) Author: √Čric Araujo (eric.araujo) * (Python committer) Date: 2014-03-15 01:53
Hi, thanks for the report and patch.  How can I reproduce the error?

Matthias: which versions did you change to support cross-compile?  I understand this is a bug, not a new feature, so it should be fixed in all affected versions.
msg213652 - (view) Author: Roumen Petrov (rpetrov) * Date: 2014-03-15 12:40
actually proposed fix is my patch from 17219 with long history before.
msg213653 - (view) Author: Roumen Petrov (rpetrov) * Date: 2014-03-15 12:43
P.S. two patches posted to Issue17219 are for master branch as second one should apply cleanly to current.
History
Date User Action Args
2014-03-15 12:43:13rpetrovsetmessages: + msg213653
2014-03-15 12:40:37rpetrovsetnosy: + rpetrov
messages: + msg213652
2014-03-15 01:53:37eric.araujosetnosy: + eric.araujo
messages: + msg213614

components: + Distutils
stage: patch review
2014-02-17 23:07:40hayposetnosy: + doko, haypo
2014-01-09 23:03:07thomas-petazzonicreate