New submission from Christian Heimes <li...@cheimes.de>:

The build process creates the binary Program/_freeze_module, which is used to 
create frozen modules. The program takes a Python file, compiles it, and stores 
its marshalled output in a header file.

The approach does not work when cross compiling Python. In cross building case 
Program/_freeze_module cannot be executed on the build host. For example a 
cross build with build host "x86_64" and target host "aarch64" would create a 
aarch64 Program/_freeze_module. The current x86_64 host cannot executed binary 
(unless you use qemu and binfmt, which I'm deliberately ignoring here).

To unblock cross building and until we find a better solution, I propose that 
we allow developers to override the freeze module command on the command line. 
This allows developers to use a freeze_module program from a non-cross build:

   ../../configure -C --host=aarch64-linux-gnu-gcc --build=x86_64-pc-linux-gnu
   make FREEZE_MODULE=../x86_64/Program/_freeze_module

----------
assignee: christian.heimes
components: Build
messages: 406893
nosy: christian.heimes
priority: normal
severity: normal
status: open
title: Fix Program/_freeze_module for cross compiling Python
type: enhancement
versions: Python 3.11

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue45886>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to