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

Created on 2014-01-09 23:03 by thomas-petazzoni, last changed 2021-02-03 18:29 by steve.dower. This issue is now closed.

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 (5)
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.
msg386410 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2021-02-03 18:29
Distutils is now deprecated (see PEP 632) and all tagged issues are being closed. From now until removal, only release blocking issues will be considered for distutils.

If this issue does not relate to distutils, please remove the component and reopen it. If you believe it still requires a fix, most likely the issue should be re-reported at https://github.com/pypa/setuptools
History
Date User Action Args
2021-02-03 18:29:06steve.dowersetstatus: open -> closed

nosy: + steve.dower
messages: + msg386410

resolution: out of date
stage: patch review -> resolved
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:40vstinnersetnosy: + doko, vstinner
2014-01-09 23:03:07thomas-petazzonicreate