[Python-Dev] Bug in build system for cross-platform builds (original) (raw)

Martin Panter vadmium+py at gmail.com
Mon Feb 15 16:22:10 EST 2016


On 15 February 2016 at 08:24, Russell Keith-Magee <russell at keith-magee.com> wrote:

Hi all,

I’ve been working on developing Python builds for mobile platforms, and I’m looking for some help resolving a bug in Python’s build system. The problem affects cross-platform builds - builds where you are compiling python for a CPU architecture other than the one on the machine that is doing the compilation. This requirement stems from supporting mobile platforms (iOS, Android etc) where you compile on your laptop, then ship the compiled binary to the device. In the Python 3.5 dev cycle, Issue 22359 [1] was addressed, fixing parallel builds. However, as a side effect, this patch broke (as far as I can tell) all cross platform builds. This was reported in issue 22625 [2]. Since that time, the problem has gotten slightly worse; the addition of changeset 95566 [3] and 95854 [4] has cemented the problem. I’ve been able to hack together a fix that enables me to get a set of binaries, but the patch is essentially reverting 22359, and making some (very dubious) assumptions about the order in which things are built. Autoconf et al aren’t my strong suit; I was hoping someone might be able to help me resolve this issue.

Would you mind answering my question in <https://bugs.python.org/issue22625#msg247652>? In particular, how did cross-compiling previously work before these changes. AFAIK Python builds a preliminary Python executable which is executed on the host to complete the final build. So how do you differentiate between host and target compilers etc?



More information about the Python-Dev mailing list